diff --git a/legacy/eet/ChangeLog b/legacy/eet/ChangeLog index 18d8ff2b48..0ce223a1b8 100644 --- a/legacy/eet/ChangeLog +++ b/legacy/eet/ChangeLog @@ -606,3 +606,4 @@ 2012-07-16 Cedric Bail * Add code to detect overrun and underrun in eet_data_descriptor_element_add. + * Fix possible wrong size decoding for simple type. diff --git a/legacy/eet/NEWS b/legacy/eet/NEWS index 6a08a5777b..456bd18048 100644 --- a/legacy/eet/NEWS +++ b/legacy/eet/NEWS @@ -11,6 +11,7 @@ Fixes: * Make eet_dictionary thread safe. * Check that gnutls and openssl don't return below zero size during decipher. * Fix crash when cyphering huge amount of data. + * Possible wrong size decoding of simple type. Eet 1.6.0 diff --git a/legacy/eet/src/lib/eet_data.c b/legacy/eet/src/lib/eet_data.c index 1eb822a8ca..bd6bbd9d5e 100644 --- a/legacy/eet/src/lib/eet_data.c +++ b/legacy/eet/src/lib/eet_data.c @@ -3698,7 +3698,7 @@ eet_data_get_array(Eet_Free_Context *context, if (ede) { if (IS_POINTER_TYPE(type)) - subsize = eet_basic_codec[ede->type].size; + subsize = eet_basic_codec[ede->type - 1].size; else subsize = ede->subtype->size; @@ -4417,7 +4417,7 @@ eet_data_put_array(Eet_Dictionary *ed, eet_data_encode(ed, ds, data, ede->name, size, ede->type, ede->group_type); if (IS_POINTER_TYPE(ede->type)) - subsize = eet_basic_codec[ede->type].size; + subsize = eet_basic_codec[ede->type - 1].size; else subsize = ede->subtype->size;