I'm attaching a patch for some minor bugs in the e17.
Please take a look at attached patch.
01. missing E_FREE(inst)
File: src/bin/e_exec.c: 347
Function: _e_exec_cb_exec
02. missing null check
File: src/bin/e_fm.c: 10173
Function: _e_fm_error_dialog
I'm not sure, but all other codes always check the return
value of e_fm2_op_registry_entry_get except here.
03. missing free(slave)
File: src/bin/e_fm_ipc.c: 804
Function: _e_fm_ipc_slave_run
04. eina_list_remove after free
File: src/bin/e_fm/e_fm_ipc.c :1325
Function: _e_fm_ipc_cb_fop_trash_idler
05. invalid check for _udisks_del, it might be _udisks_chg.
File: src/bin/e_fm/e_fm_main_udisks.c : 162
Function: _e_fm_main_udisks_test
06. uninitialized gx and gy values
File: src/bin/e_gadcon_popup.c: 172
Function: _e_gadcon_popup_position
These could be changed in e_gadcon_client_geometry_get
if gcc->o_base is null.
07. unnecessary code 'evas = e_win_evas_get(dia->win)'
File: src/bin/e_import_config_dialog.c: 456
Function: e_import_config_dialog_show
08. missing free(sizes)
src/bin/e_randr_11_serialization.c: 136
Function: _11_try_restore_configuration()
09. unnecessary variable output_info
File: src/bin/e_randr_12.c: 560
Function: _output_property_change_event_cb
10. eina_list_remove after free
File: src/bin/e_randr_12_serialization.c : 357
Function: _12_serialized_setup_update
11. no check of the return value of symlink.
File: src/bin/e_widget_fsel.c: 84
Function: _e_wid_fsel_favorites_add
12. no evr->var check before comparing string values
File: src/modules/conf_applications/e_int_config_defapps.c: 432
Function: _basic_apply
13. missing error message or check return value of edje_file_group_exists
File: src/modules/conf_theme/e_int_config_theme.c: 333
Function: _open_test_cb
Anyway, I've added e_util_dialog_show if failed. Is it okay?
14. missing index range check
File: src/modules/gadman/e_mod_config.c: 153
Function: _cb_config
It could read negative array index, because return value of
e_widget_ilist_selected_get might be negative.
BR,
Gwanglim
SVN revision: 80020
match them back to something IT started (ibar, menus, evrything
etc.)... it will keep those windows ON the zone/desktop u started them
on... hoobloodyray!
SVN revision: 70368
Do not abuse the concept of e_*_init(), make them call-once and those
that needed multiple call are renamed to e_*_update(). To make sure
convert them to EINTERN so the symbols are not exported.
Actually I guess too much is exported as EAPI while they should be
EINTERN, but that would require manual investigation, while this patch
was basically created with sed + grep.
SVN revision: 54795
Apply badzero.cocci, badnull.coci and badnull2.cocci
This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:
code before patch ||code after patch
===============================================================
return a == NULL; return !a;
return a != NULL; return !!a;
func(a == NULL); func(!a);
func(a != NULL); func(!!a);
b = a == NULL; b = !a;
b = a != NULL; b = !!a;
b = a == NULL ? c : d; b = !a ? c : d;
b = a != NULL ? c : d; b = a ? c : d;
other cases:
a == NULL !a
a != NULL a
SVN revision: 51487
* Remove vim modelines:
find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;
* Remove leading blank lines:
find . -name '*.[cxh]' -exec sed -i '/./,$!d'
If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0
SVN revision: 50816
The notnull.cocci script from Coccinelle finds places where you check if a
variable is NULL, but it's known not to be NULL. The check can be safely
removed. For example, this code would be caught by notnull:
if (!var) return;
if (var && var->fld) { ... }
It's needless to check again if var is not NULL because if it's in fact NULL,
it would have returned on the previous "if". This commit removes all the
trivial places where this pattern happens. Another patch will be generated for
the more complex cases.
SVN revision: 50241