diff options
author | Cedric BAIL <cedric.bail@free.fr> | 2012-07-16 10:58:30 +0000 |
---|---|---|
committer | Cedric BAIL <cedric.bail@free.fr> | 2012-07-16 10:58:30 +0000 |
commit | d536128073f1c1db04ee5021b4d055b0d127a0fc (patch) | |
tree | 4cf9d23ae9479dca64f2f0f498ec84a3d2ebae2d | |
parent | 8b32375993bd0b51d3efde75eb82f541b387abcc (diff) | |
download | eet-d536128073f1c1db04ee5021b4d055b0d127a0fc.tar.gz |
eet: fix possible wrong size decoding for simple type.
SVN revision: 73923
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/lib/eet_data.c | 4 |
3 files changed, 4 insertions, 2 deletions
@@ -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. @@ -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/src/lib/eet_data.c b/src/lib/eet_data.c index 1eb822a..bd6bbd9 100644 --- a/src/lib/eet_data.c +++ b/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; |