efl/legacy
Lucas De Marchi 2a8b05eb03 efreet: Fix efreet_init_parse for non existent file
The conversion to eina_file_map() in r78179 broke the error path of
efreet_init_parse(). Particularly if file doesn't exist. Since the variables
were not initialized it was trying to operate on random values from the stack.
So I got the following crash on E17:

#0  0x00007f238b0bbd67 in waitpid () from /usr/lib/libpthread.so.0
#1  0x00000000004397a3 in e_alert_show ()
#2  0x0000000000526392 in e_sigseg_act ()
#3  <signal handler called>
#4  0x0000000000000031 in ?? ()
#5  0x00007f239315df0f in efreet_ini_parse (file=file@entry=0x7fff39ce46f0 "/home/lucas/local/share/enlightenment/applications/defaults.list")
    at /home/lucas/p/e-svn/trunk/efreet/src/lib/efreet_ini.c:245
#6  0x00007f239315e100 in efreet_ini_new (file=0x7fff39ce46f0 "/home/lucas/local/share/enlightenment/applications/defaults.list")
    at /home/lucas/p/e-svn/trunk/efreet/src/lib/efreet_ini.c:82
#7  0x0000000000538174 in _e_util_default_terminal_get ()
#8  0x00000000005382dc in e_util_terminal_desktop_get ()
#9  0x00007f23706a1065 in e_fwin_init () from /home/lucas/local/lib/enlightenment/modules/fileman/linux-gnu-x86_64-ver-pre-svn-08/module.so
#10 0x00007f237069b524 in e_modapi_init () from /home/lucas/local/lib/enlightenment/modules/fileman/linux-gnu-x86_64-ver-pre-svn-08/module.so
#11 0x000000000050420d in e_module_enable ()
#12 0x0000000000504e77 in _e_module_cb_idler ()
#13 0x00007f238da22739 in _ecore_call_task_cb (data=<optimized out>, func=<optimized out>) at /home/lucas/p/e-svn/trunk/ecore/src/lib/ecore/ecore_private.h:265
#14 _ecore_idle_enterer_call () at /home/lucas/p/e-svn/trunk/ecore/src/lib/ecore/ecore_idle_enterer.c:234
#15 0x00007f238da24c1b in _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at /home/lucas/p/e-svn/trunk/ecore/src/lib/ecore/ecore_main.c:1826
#16 0x00007f238da252c7 in ecore_main_loop_begin () at /home/lucas/p/e-svn/trunk/ecore/src/lib/ecore/ecore_main.c:934
#17 0x0000000000436167 in main ()

Besides initializing the variables, there's no need to "goto" if the file
doesn't exist.... just return.




SVN revision: 78272
2012-10-19 23:33:05 +00:00
..
ecore ecore: oops fix a typo. 2012-10-19 10:45:25 +00:00
edbus edbus: Add example for emitting signal 2012-10-19 18:24:36 +00:00
edje edje .gitignore: updated .gitignore. 2012-10-17 10:09:39 +00:00
eet merge: add COPYING files (BSD 2-clause, LGPL and GPL) and doc 2012-09-19 06:57:03 +00:00
eeze eeze/sensor: Remove handle_get() test for Eeze_Sensor as it gone from the code. 2012-10-02 12:53:48 +00:00
efreet efreet: Fix efreet_init_parse for non existent file 2012-10-19 23:33:05 +00:00
eina A little formatting fix 2012-10-19 16:01:49 +00:00
eio eio: Fix possible memory corruption in eio_eet_data_read_cipher() 2012-10-04 01:46:03 +00:00
embryo news+chlog for embryo windows build fix. 2012-09-12 07:03:40 +00:00
emotion emotion: call the right render function. 2012-10-11 08:25:34 +00:00
eobj Initial rpm spec support. 2012-10-14 16:38:23 +00:00
ephysics ephysics: support back-face culling 2012-10-19 18:50:46 +00:00
escape added short description in the missing README contents 2012-04-07 01:25:36 +00:00
ethumb From: Michal Jagiello <m.jagiello@samsung.com> 2012-10-10 09:31:25 +00:00
evas Evas: Add EINA_UNUSED where missing. 2012-10-19 12:58:37 +00:00
evil merge: move NEWS. All those names must be fixed later 2012-09-11 18:12:40 +00:00