From: Eric Biggers Date: Fri, 22 Jan 2016 02:01:54 +0000 (-0600) Subject: registry: define MAX_VALUE_SIZE with other limits X-Git-Tag: v1.9.0~4 X-Git-Url: https://wimlib.net/git/?p=wimlib;a=commitdiff_plain;h=4109848cdf4c31d8ea1a410b183478ad4124f15b;ds=sidebyside registry: define MAX_VALUE_SIZE with other limits --- diff --git a/src/registry.c b/src/registry.c index 6b7f9815..36ecdd39 100644 --- a/src/registry.c +++ b/src/registry.c @@ -143,6 +143,7 @@ struct data_cell { /* Arbitrary limits for safety */ #define MAX_VALUES 65536 +#define MAX_VALUE_SIZE 1048576 #define MAX_SUBKEYS 65536 #define MAX_SUBKEY_LIST_LEVELS 5 #define MAX_SUBKEY_LISTS 4096 @@ -532,7 +533,7 @@ retrieve_value(const struct regf *regf, const tchar *key_name, is_inline = (data_size & 0x80000000); data_size &= 0x7FFFFFFF; - if (data_size > 1048576) /* Arbitrary limit */ + if (data_size > MAX_VALUE_SIZE) return HIVE_CORRUPT; if (is_inline) {