@@ -70,6 +70,11 @@ import qualified System.FilePath.Posix as FilePath.Posix
70
70
-- link target. A failure in any entry terminates the sequence of entries with
71
71
-- an error.
72
72
--
73
+ -- Whenever possible, consider fusing 'checkSecurity' with packing / unpacking by using
74
+ -- 'Codec.Archive.Tar.packAndCheck' / 'Codec.Archive.Tar.unpackAndCheck'
75
+ -- with 'checkEntrySecurity'.
76
+ -- Not only it is faster, but also alleviates issues with lazy I/O
77
+ -- such as exhaustion of file handlers.
73
78
checkSecurity
74
79
:: Entries e
75
80
-> GenEntries FilePath FilePath (Either (Either e DecodeLongNamesError ) FileNameError )
@@ -154,6 +159,11 @@ showFileNameError mb_plat err = case err of
154
159
-- Note: This check must be used in conjunction with 'checkSecurity'
155
160
-- (or 'checkPortability').
156
161
--
162
+ -- Whenever possible, consider fusing 'checkTarbomb' with packing / unpacking by using
163
+ -- 'Codec.Archive.Tar.packAndCheck' / 'Codec.Archive.Tar.unpackAndCheck'
164
+ -- with 'checkEntryTarbomb'.
165
+ -- Not only it is faster, but also alleviates issues with lazy I/O
166
+ -- such as exhaustion of file handlers.
157
167
checkTarbomb
158
168
:: FilePath
159
169
-> Entries e
@@ -217,6 +227,11 @@ instance Show TarBombError where
217
227
-- includes characters that are valid in both systems and the \'/\' vs \'\\\'
218
228
-- directory separator conventions.
219
229
--
230
+ -- Whenever possible, consider fusing 'checkPortability' with packing / unpacking by using
231
+ -- 'Codec.Archive.Tar.packAndCheck' / 'Codec.Archive.Tar.unpackAndCheck'
232
+ -- with 'checkEntryPortability'.
233
+ -- Not only it is faster, but also alleviates issues with lazy I/O
234
+ -- such as exhaustion of file handlers.
220
235
checkPortability
221
236
:: Entries e
222
237
-> GenEntries FilePath FilePath (Either (Either e DecodeLongNamesError ) PortabilityError )
0 commit comments