Merge pull request #2036 from s3inlc/pkzip-fix-3

Fixed inflate check on very short pkzip hashes
This commit is contained in:
Jens Steube
2019-05-20 11:58:13 +02:00
committed by GitHub
6 changed files with 24 additions and 24 deletions
+4 -4
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;
@@ -951,8 +951,8 @@ KERNEL_FQ void m17200_mxx (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;
+4 -4
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;
@@ -957,8 +957,8 @@ KERNEL_FQ void m17200_mxx (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;
+4 -4
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;
@@ -982,8 +982,8 @@ KERNEL_FQ void m17200_mxx (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;
+4 -4
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)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_type_enum == 1)
{
@@ -986,8 +986,8 @@ KERNEL_FQ void m17220_mxx (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)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_type_enum == 1)
{
+4 -4
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)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_type_enum == 1)
{
@@ -988,8 +988,8 @@ KERNEL_FQ void m17220_mxx (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)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_type_enum == 1)
{
+4 -4
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)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_type_enum == 1)
{
@@ -1012,8 +1012,8 @@ KERNEL_FQ void m17220_mxx (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)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_length >= 24 && ((tmp[0]) & 6) == 4 && !check_inflate_code2 (tmp)) break;
if (esalt_bufs[digests_offset].hashes[idx].data_type_enum == 1)
{