Hi, #2 was incorrect, the conditional should simply be changed from && to || #3 could be (and was) changed to simply modify the loop conditional
Instead of testing if (x && (!strcmp(X, "string"))), E17 provides the function e_util_strcmp which can take NULL. Also it is not necessary to test if (X) before calling free(X); free() will always accept NULL. Otherwise good work! On Wed, Dec 5, 2012 at 8:20 AM, Gwanglim Lee <[email protected]> wrote: > Dear all, > > 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 > > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
