Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/7z_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,6 @@ extern int sevenzip_decrypt(unsigned char *derived_key);
extern unsigned int sevenzip_iteration_count(void *salt);
extern unsigned int sevenzip_padding_size(void *salt);
extern unsigned int sevenzip_compression_type(void *salt);
extern unsigned int sevenzip_data_len(void *salt);
extern unsigned int sevenzip_size_penalty(void *salt);

#endif /* _7Z_COMMON_H */
19 changes: 15 additions & 4 deletions src/7z_common_plug.c
Original file line number Diff line number Diff line change
Expand Up @@ -678,10 +678,21 @@ unsigned int sevenzip_compression_type(void *salt)
return my_salt->type;
}

unsigned int sevenzip_data_len(void *salt)
unsigned int sevenzip_size_penalty(void *salt)
{
sevenzip_salt_t *my_salt;
sevenzip_salt_t *my_salt = *((sevenzip_salt_t**)salt);
uint32_t pad_size = sevenzip_padding_size(salt);
uint64_t e_size = my_salt->packed_size;

my_salt = *((sevenzip_salt_t**)salt);
return my_salt->packed_size;
/* Consider early reject */
if (sevenzip_trust_padding) {
int shift = pad_size * 8;

if (shift < 64)
e_size >>= shift;
else
e_size = 0;
}

return (unsigned int)MIN(UINT_MAX, e_size);
}
4 changes: 2 additions & 2 deletions src/7z_fmt_plug.c
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ struct fmt_main fmt_sevenzip = {
"iteration count",
"padding size",
"compression type",
"data length"
"data size penalty"
},
{ FORMAT_TAG },
sevenzip_tests
Expand All @@ -383,7 +383,7 @@ struct fmt_main fmt_sevenzip = {
sevenzip_iteration_count,
sevenzip_padding_size,
sevenzip_compression_type,
sevenzip_data_len
sevenzip_size_penalty
},
fmt_default_source,
{
Expand Down
4 changes: 2 additions & 2 deletions src/opencl_7z_fmt_plug.c
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,7 @@ struct fmt_main fmt_opencl_sevenzip = {
"iteration count",
"padding size",
"compression type",
"data length"
"data size penalty"
},
{ FORMAT_TAG },
sevenzip_tests
Expand All @@ -450,7 +450,7 @@ struct fmt_main fmt_opencl_sevenzip = {
sevenzip_iteration_count,
sevenzip_padding_size,
sevenzip_compression_type,
sevenzip_data_len
sevenzip_size_penalty
},
fmt_default_source,
{
Expand Down