fixed inflate check on very short pkzip hashes

This commit is contained in:
Sein Coray
2019-05-17 16:03:26 +02:00
parent 56f79232b5
commit 67af2cf926
6 changed files with 12 additions and 12 deletions
+2 -2
View File
@@ -725,8 +725,8 @@ KERNEL_FQ void m17200_sxx (KERN_ATTR_RULES_ESALT (pkzip_t))
update_key012 (key0, key1, key2, plain, l_crc32tab);
}
if (((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) continue;
if (((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) continue;
if (esalt_bufs[digests_offset].hash.data_length >= 24 && ((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) continue;
if (esalt_bufs[digests_offset].hash.data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) continue;
mz_stream infstream;
+2 -2
View File
@@ -727,8 +727,8 @@ KERNEL_FQ void m17200_sxx (KERN_ATTR_ESALT (pkzip_t))
update_key012 (key0, key1, key2, plain, l_crc32tab);
}
if (((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) continue;
if (((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) continue;
if (esalt_bufs[digests_offset].hash.data_length >= 24 && ((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) continue;
if (esalt_bufs[digests_offset].hash.data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) continue;
mz_stream infstream;
+2 -2
View File
@@ -740,8 +740,8 @@ KERNEL_FQ void m17200_sxx (KERN_ATTR_VECTOR_ESALT (pkzip_t))
update_key012 (key0, key1, key2, plain, l_crc32tab);
}
if (((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) continue;
if (((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) continue;
if (esalt_bufs[digests_offset].hash.data_length >= 24 && ((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) continue;
if (esalt_bufs[digests_offset].hash.data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) continue;
mz_stream infstream;
+2 -2
View File
@@ -721,8 +721,8 @@ KERNEL_FQ void m17220_sxx (KERN_ATTR_RULES_ESALT (pkzip_t))
update_key012 (key0, key1, key2, plain, l_crc32tab);
}
if (((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) break;
if (((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) continue;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) continue;
if (esalt_bufs[digests_offset].hashes[idx].data_type_enum == 1)
{
+2 -2
View File
@@ -721,8 +721,8 @@ KERNEL_FQ void m17220_sxx (KERN_ATTR_ESALT (pkzip_t))
update_key012 (key0, key1, key2, plain, l_crc32tab);
}
if (((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) break;
if (((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) continue;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) continue;
if (esalt_bufs[digests_offset].hashes[idx].data_type_enum == 1)
{
+2 -2
View File
@@ -733,8 +733,8 @@ KERNEL_FQ void m17220_sxx (KERN_ATTR_VECTOR_ESALT (pkzip_t))
update_key012 (key0, key1, key2, plain, l_crc32tab);
}
if (((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) break;
if (((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 2 && !check_inflate_code1 (tmp, 24)) continue;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) continue;
if (esalt_bufs[digests_offset].hashes[idx].data_type_enum == 1)
{