You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, while fuzzing unarr I've found that if ar_parse_entry failed, archive entry_offset_next will never be increased , so that means it can not 'skip' the bad entry and continue to end, is this expected behavior ? maybe better to add description for this situation to header comment.
The text was updated successfully, but these errors were encountered:
Yes, this is expected behaviour. In many cases when the entry header is corrupted, it no longer is possible to calculate the address of the next entry.
We could try to locate the next entry by searching for its header signature (using memcmp, for example), but this isn't implemented yet and only works for non-solid compressions. In case of solid compressions, decompression of an entry depends on the decompression dictionary left by the previous entry, so if one entry is corrupt all entries after that can no longer be decompressed.
Hello, while fuzzing unarr I've found that if ar_parse_entry failed, archive entry_offset_next will never be increased , so that means it can not 'skip' the bad entry and continue to end, is this expected behavior ? maybe better to add description for this situation to header comment.
The text was updated successfully, but these errors were encountered: