discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b14a06b04073149fdd579164f1e79732bfb4acf5

commit b14a06b04073149fdd579164f1e79732bfb4acf5
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Dec 16 14:34:20 2015 -0500

    edje_cc: terminate filter file scripts
    
    ==24030== Invalid read of size 1
    ==24030==    at 0x4A0AC77: strcmp (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==24030==    by 0x598A9DC: _eet_dictionary_lookup (eet_dictionary.c:69)
    ==24030==    by 0x598AA93: eet_dictionary_string_add (eet_dictionary.c:103)
    ==24030==    by 0x598107B: eet_data_put_string (eet_data.c:857)
    ==24030==    by 0x598213F: eet_data_put_type (eet_data.c:1433)
    ==24030==    by 0x59895AB: eet_data_put_unknown (eet_data.c:4798)
    ==24030==    by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
    ==24030==    by 0x59894A4: eet_data_put_array (eet_data.c:4760)
    ==24030==    by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
    ==24030==    by 0x5989617: eet_data_put_unknown (eet_data.c:4807)
    ==24030==    by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
    ==24030==    by 0x5983E06: eet_data_write_cipher (eet_data.c:2396)
    ==24030==    by 0x5983E92: eet_data_write (eet_data.c:2412)
    ==24030==    by 0x406BC2: data_thread_head (edje_cc_out.c:674)
    ==24030==    by 0x406D51: data_write_header (edje_cc_out.c:717)
    ==24030==    by 0x40B52E: data_write (edje_cc_out.c:2439)
    ==24030==    by 0x40563D: main (edje_cc.c:399)
    ==24030==  Address 0xf45cb7b is 0 bytes after a block of size 347 alloc'd
    ==24030==    at 0x4A089C7: calloc (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==24030==    by 0x414BAC: mem_alloc (edje_cc_mem.c:15)
    ==24030==    by 0x41B66A: st_filters_filter_file (edje_cc_handlers.c:4718)
    ==24030==    by 0x410EDA: new_statement (edje_cc_parse.c:229)
    ==24030==    by 0x41227C: parse (edje_cc_parse.c:719)
    ==24030==    by 0x412E5C: compile (edje_cc_parse.c:1044)
    ==24030==    by 0x405624: main (edje_cc.c:394)
    ==24030==
    ==24030== Invalid read of size 1
    ==24030==    at 0x4A0AC77: strcmp (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==24030==    by 0x598AAFB: eet_dictionary_string_add (eet_dictionary.c:109)
    ==24030==    by 0x598107B: eet_data_put_string (eet_data.c:857)
    ==24030==    by 0x598213F: eet_data_put_type (eet_data.c:1433)
    ==24030==    by 0x59895AB: eet_data_put_unknown (eet_data.c:4798)
    ==24030==    by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
    ==24030==    by 0x59894A4: eet_data_put_array (eet_data.c:4760)
    ==24030==    by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
    ==24030==    by 0x5989617: eet_data_put_unknown (eet_data.c:4807)
    ==24030==    by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
    ==24030==    by 0x5983E06: eet_data_write_cipher (eet_data.c:2396)
    ==24030==    by 0x5983E92: eet_data_write (eet_data.c:2412)
    ==24030==    by 0x406BC2: data_thread_head (edje_cc_out.c:674)
    ==24030==    by 0x406D51: data_write_header (edje_cc_out.c:717)
    ==24030==    by 0x40B52E: data_write (edje_cc_out.c:2439)
    ==24030==    by 0x40563D: main (edje_cc.c:399)
    ==24030==  Address 0xf45cb7b is 0 bytes after a block of size 347 alloc'd
    ==24030==    at 0x4A089C7: calloc (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==24030==    by 0x414BAC: mem_alloc (edje_cc_mem.c:15)
    ==24030==    by 0x41B66A: st_filters_filter_file (edje_cc_handlers.c:4718)
    ==24030==    by 0x410EDA: new_statement (edje_cc_parse.c:229)
    ==24030==    by 0x41227C: parse (edje_cc_parse.c:719)
    ==24030==    by 0x412E5C: compile (edje_cc_parse.c:1044)
    ==24030==    by 0x405624: main (edje_cc.c:394)
    
    @fix
---
 src/bin/edje/edje_cc_handlers.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 0936141..7c8a410 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -4718,8 +4718,7 @@ st_filters_filter_file(void)
         exit(-1);
      }
 
-   current_filter->script = mem_alloc(sz);
-   memcpy((char *) current_filter->script, script, sz);
+   current_filter->script = (char*)eina_memdup((unsigned char*)script, sz, 1);
    eina_file_map_free(f, script);
    eina_file_close(f);
 

-- 


Reply via email to