> On Nov 30, 2018, at 4:27 PM, Geert Janssens <geert.gnuc...@kobaltwit.be> > wrote: > > Op vrijdag 30 november 2018 08:12:02 CET schreef John Ralls: >> Updated via https://github.com/Gnucash/gnucash/commit/3f09e5c6 >> (commit) >> via https://github.com/Gnucash/gnucash/commit/e81bcf6e (commit) >> via https://github.com/Gnucash/gnucash/commit/bf55c30a (commit) >> via https://github.com/Gnucash/gnucash/commit/a9344841 (commit) >> via https://github.com/Gnucash/gnucash/commit/f5260996 (commit) >> via https://github.com/Gnucash/gnucash/commit/185787d7 (commit) >> via https://github.com/Gnucash/gnucash/commit/8ed9a9c4 (commit) >> via https://github.com/Gnucash/gnucash/commit/7e10b05c (commit) >> via https://github.com/Gnucash/gnucash/commit/7283c86f (commit) >> via https://github.com/Gnucash/gnucash/commit/876bfd19 (commit) >> via https://github.com/Gnucash/gnucash/commit/24ce9205 (commit) >> via https://github.com/Gnucash/gnucash/commit/8f22c4be (commit) >> via https://github.com/Gnucash/gnucash/commit/4ffeb3ef (commit) >> via https://github.com/Gnucash/gnucash/commit/43a30e1c (commit) >> via https://github.com/Gnucash/gnucash/commit/3d136275 (commit) >> via https://github.com/Gnucash/gnucash/commit/606d9cfe (commit) >> via https://github.com/Gnucash/gnucash/commit/faba7975 (commit) >> from https://github.com/Gnucash/gnucash/commit/de6c173e (commit) >> >> >> >> commit 3f09e5c6f1af66223503eca9adee84e9a346e42a >> Author: John Ralls <jra...@ceridwen.us> >> Date: Fri Nov 30 16:11:42 2018 +0900 >> >> Only disable register warnings for SWIG 2. >> >> SWIG 3 has removed the register storage class markers. >> >> commit e81bcf6e33bc5bcf2af8aca6931e537889e1a17a >> Author: John Ralls <jra...@ceridwen.us> >> Date: Fri Nov 30 14:44:49 2018 +0900 >> >> Fix the remaining static analysis warnings. >> >> Except two incorrect leak warnings and one about mktemp >> being insecure in the XML backend. See the respective >> comments about those. >> >> commit bf55c30aeb2a94a6bd29015278d8aa84e498011e >> Author: John Ralls <jra...@ceridwen.us> >> Date: Fri Nov 30 13:56:08 2018 +0900 >> >> Fix most of the unused assignment errors from static analysis. >> >> There are a very few left that need deeper study, but this gets >> rid of most of the noise. For the most part it's just getting rid of >> extra variables or removing an assignment that is always >> replaced later but before any reads of the variable. A few are >> discarded result variables. >> >> commit a93448414f3e790e52a3f627f7f4b6c5df463a98 >> Author: John Ralls <jra...@ceridwen.us> >> Date: Fri Nov 30 13:52:21 2018 +0900 >> >> Fix another uninitialized variable in register. >> >> Found by clang static analyzer. >> >> commit f52609961e43b165f532ebe2d234626ceaa4372f >> Author: John Ralls <jra...@ceridwen.us> >> Date: Thu Nov 29 21:49:54 2018 +0900 >> >> Fix uninitialized variables (and one leak) in gnome. >> >> Found by clang static analyzer. >> >> commit 185787d7be17b4927b4b0396f317ff2cc20e5eea >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 22:24:41 2018 +0900 >> >> Initialize some gnc_numerics that could be returned uninitialized. >> >> Found by clang static analyzer. >> >> commit 8ed9a9c43af638276343dd886daea958079ef768 >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 22:22:28 2018 +0900 >> >> Initialize some variables that could be otherwise used uninitialized. >> >> Found by clang static analyzer. >> >> commit 7e10b05c494f262ca7c31fd8c8bc54d61a8fed98 >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 22:07:01 2018 +0900 >> >> Avoid over-ranging string storage. >> >> Found by clang static analyzer. >> >> commit 7283c86f6f0a20cd9bdbe7587273c2b625026cce >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 21:58:05 2018 +0900 >> >> Fix various static analysis logic errors in gnome-utils. >> >> commit 876bfd19ad2c7d80d8dae008241c9ef67f1655a2 >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 16:18:34 2018 +0900 >> >> Protect against nullptr dereference, remove unused GError. >> >> Found by clang static analyzer. >> >> commit 24ce92056ddf5f6137827467634ddb1ef7e2bc75 >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 16:11:32 2018 +0900 >> >> Protect from potential nullptr dereferences. >> >> pmtsched is created in only one banch of the opening switch. >> Found by clang static analyzer. >> >> commit 8f22c4bed4a3da692cbfb042d5b671cd80fb00ec >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 15:41:45 2018 +0900 >> >> Localize variables, ensure that val_imbalance is set, test txn_curr != >> commodity once. >> >> Found by clang static analyzer. >> >> commit 4ffeb3efac85cd1650f33fb4acd0665936307213 >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 15:40:21 2018 +0900 >> >> Ensure that a dereferenced variable isn't NULL. >> >> Found by clang static analyzer. >> >> commit 43a30e1c9799fba2c926f59d488fdfbcd9f6ff54 >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 15:39:07 2018 +0900 >> >> Silence clang static analyzer complaint about potential div by 0. >> >> It can't, because if b is 0 the function would have >> returned already; since b.m_hi is 0 b.m_lo can't be. The assert >> reassures clang that this is the case. >> >> commit 3d1362757be1c8ac73f2f7937ac0dcd696ca6f46 >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 15:37:25 2018 +0900 >> >> Prevent potential undefined behavior by shifting by a wrapped uint. >> >> Found by clang static analyzer. >> >> commit 606d9cfee6d64c3ae9ee3d9bed6532e98b4b1a37 >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 15:36:06 2018 +0900 >> >> Prevent potential nullptr dereference. >> >> Found by clang static analyzer. >> >> commit faba7975aca2647792139ed61ca2aabfc1b707a6 >> Author: John Ralls <jra...@ceridwen.us> >> Date: Wed Nov 28 14:48:42 2018 +0900 >> >> Fix a bunch of memory allocation errors found by clang static analysis. >> >> >> >> Summary of changes: >> CMakeLists.txt | 4 ++ >> borrowed/gwengui-gtk3/gtk3_gui_dialog.c | 2 - >> borrowed/gwengui-gtk3/w_checkbox.c | 11 ++-- >> borrowed/gwengui-gtk3/w_combobox.c | 9 ++-- >> borrowed/gwengui-gtk3/w_dialog.c | 2 - >> borrowed/gwengui-gtk3/w_gridlayout.c | 4 -- >> borrowed/gwengui-gtk3/w_groupbox.c | 2 - >> borrowed/gwengui-gtk3/w_hlayout.c | 2 - >> borrowed/gwengui-gtk3/w_hline.c | 2 - >> borrowed/gwengui-gtk3/w_hspacer.c | 2 - >> borrowed/gwengui-gtk3/w_label.c | 2 - >> borrowed/gwengui-gtk3/w_lineedit.c | 18 +++---- >> borrowed/gwengui-gtk3/w_listbox.c | 13 ++--- >> borrowed/gwengui-gtk3/w_progressbar.c | 4 -- >> borrowed/gwengui-gtk3/w_pushbutton.c | 11 ++-- >> borrowed/gwengui-gtk3/w_radiobutton.c | 10 ++-- >> borrowed/gwengui-gtk3/w_scrollarea.c | 2 - >> borrowed/gwengui-gtk3/w_spinbox.c | 13 ++--- >> borrowed/gwengui-gtk3/w_stack.c | 2 - >> borrowed/gwengui-gtk3/w_tabbook.c | 2 - >> borrowed/gwengui-gtk3/w_textbrowser.c | 2 - >> borrowed/gwengui-gtk3/w_textedit.c | 5 +- >> borrowed/gwengui-gtk3/w_vlayout.c | 2 - >> borrowed/gwengui-gtk3/w_vline.c | 2 - >> borrowed/gwengui-gtk3/w_vspacer.c | 2 - >> borrowed/jenny/jenny.c | 9 +--- > > Impressive work. > > Will you send these patches to the respective upstream projects as well ?
Nowhere near as impressive as it looks. ;-) Clang’s static analyzer did most of the real work. Nearly all of the fixes were pretty obvious once they were pointed out. I don’t think that jenny is maintained. I’ll do a PR for Gwen, though I’m not sure that cleanup is something Martin is interested in. Regards, John Ralls _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel