As I've said before, I'm attached a patch for minor bugs in the e17 again.
Please take a look at attached patch.
01. missing E_FREE(wev) if zone is null
File: src/bin/e_actions.c: 1467
Function: ACT_FN_GO_EDGE macro function
null check of zone and wev, it would be better to separate them.
02. dead code
File: src/bin/e_configure.c: 338
Function: _e_configure_efreet_desktop_update
03. array buf might be overwritten by "buf[i] = '\0'"
File: src/bin/e_eap_editor.c: 412
Function: _e_desktop_edit_user_local_desktop_filename_generate
04. missing null check
File: src/bin/e_fm.c
Function: e_fm2_icon_get: 2196
It would be better to check ic->info.file in e_fm2_icon_get
before passing to _e_fm2_file_is_edje because it doesn't check
null pointer.
05. array 'path' might be overwritten by "path[i + 1] = XXX"
File: src/bin/e_fm.c: 4299
Function: _e_fm2_uri_parse
06. missing null check
File: src/bin/e_fm_device.c: 468
Function: e_fm2_device_mount_find
If the null pointer is passed to e_fm2_device_mount_find,
then it attempt to compare string using strncmp without null
check.
e.g., e_fm2_path_set
-> real_path = _e_fm2_dev_path_map: this function could return null.
-> sd->realpath = real_path;
-> e_fm2_device_mount_find(sd->realpath)
07. missing free(fstrip)
File: src/bin/e_import_config_dialog.c: 34
Function: _import_edj_gen
08. missing _module_free(cfm)
File: src/bin/e_int_config_modules.c: 530
Function: _load_modules
09. missing free(class) in for loop
File: src/bin/e_int_menus.c: 1187
Function: _e_int_menus_clients_add_by_class
10. missing free(roots)
File: src/bin/e_main.c: 1646
Function: _e_main_screens_init
Actually only e_win_init function could return 0.
But I've added free to other codes for the consistency.
11. missing null check of 'es->cfg'
File: src/bin/e_shelf.c: 2583
Function: _e_shelf_bindings_add
'es->cfg' might be null. please look at e_shelf_position_calc.
12. no ect->category check before comparing string values
File: src/bin/e_theme.c: 387
Function: e_theme_config_remove
I'm not sure, but inner if block checks ect->category before
deleting a string.
13. missing E_FREE(wcb) in while loop
File: src/bin/e_widget_ilist.c: 146
Function: _queue_timer
14. dereferencing freed pointer 'entry'
File: src/modules/quickaccess/e_mod_quickaccess.c: 583
Function: _e_qa_event_border_remove_cb
15. missing E_FREE(trov)
File: src/modules/tiling/e_mod_tiling.c: 3106
Function: _do_transition_overlay
Thanks & Regards,
Gwanglim
SVN revision: 80231
Possibly not the fastest way to do it, but I really don't have the time to
do it now. I'm just doing it because it took me less time to fix it than
to handle all of Mike's bugging in PM and mails. ;P
Something is still broken in here, but I don't have time to deal with
it, if there's something broken please let me know or fix it yourself,
should be fairly easy.
SVN revision: 79189