Errors seen in LOGS/claws-mail-plugins-3.8.0-4.fc17

This is a summary of errors seen when compiling with an experimental static analysis tool

Raw build logs can be seen here

Segfaults in normal paths

Code paths that will lead to a segmentatation fault

composewindowtype.c clawsmail_compose_new calling PyObject_Call with NULL as argument 1 (class) at composewindowtype.c:523

Segfaults within error-handling paths

Code paths in error-handling that will lead to a segmentatation fault (e.g. under low memory conditions)

foldertype.c clawsmail_folder_new dereferencing NULL (arglist->ob_refcnt) at foldertype.c:251
composewindowtype.c ComposeWindow_get_header_list dereferencing NULL (ee->ob_refcnt) at composewindowtype.c:272
composewindowtype.c clawsmail_compose_new dereferencing NULL (kw->ob_refcnt) at composewindowtype.c:525
composewindowtype.c clawsmail_compose_new calling PyObject_Call with NULL as argument 2 (args) at composewindowtype.c:523

Possible reference leaks

Code paths in which the reference count of an object might too large - but in which the reference in question came from a function not known to the analyzer.

The analyzer assumes such references are new references, but if the function returns a borrowed reference instead, it's probably not a bug

composewindowtype.c composewindow_set_compose ob_refcnt of '*ui_manager' is 1 too high
composewindowtype.c composewindow_set_compose ob_refcnt of '*text' is 1 too high
clawsmailmodule.c get_folder_tree_from_account_name ob_refcnt of '*root.25' is 1 too high
clawsmailmodule.c get_summaryview_selected_message_list ob_refcnt of '*msg' is 1 too high

Returning (PyObject*)NULL without setting an exception

These messages are often false-positives: the analysis tool has no knowledge about internal API calls that can lead to an exception being set
messageinfotype.c clawsmail_messageinfo_new returning (PyObject*)NULL without setting an exception
foldertype.c clawsmail_folder_new returning (PyObject*)NULL without setting an exception
foldertype.c Folder_get_identifier returning (PyObject*)NULL without setting an exception
clawsmailmodule.c get_folder_tree_from_account_name returning (PyObject*)NULL without setting an exception
clawsmailmodule.c move_or_copy_messages returning (PyObject*)NULL without setting an exception
foldertype.c Folder_get_messages returning (PyObject*)NULL without setting an exception
clawsmailmodule.c get_folder_tree_from_folderitem returning (PyObject*)NULL without setting an exception
clawsmailmodule.c get_mainwindow_action_group returning (PyObject*)NULL without setting an exception
clawsmailmodule.c get_mainwindow_ui_manager returning (PyObject*)NULL without setting an exception
clawsmailmodule.c get_gobj_from_address returning (PyObject*)NULL without setting an exception