[Geany-Devel] CodeAi Fixes a Null Pointer Dereference

Benjamin Bales benjamin.bales at xxxxx
Wed May 10 22:10:52 UTC 2017


CodeAi (https://github.com/C0deAi), an automated repair tool developed at
QbitLogic (www.qbitlogic.com), suggested the following fix. Could I submit
it as a patch if it looks alright?

plugins/saveactions.c: “doc->file_type” pointer might be dereferenced when
null on line 283.  Initialization may be provided by “doc” passed in as a
function argument, but a null check would be prudent just in case. The fix
checks “doc->file_type” for null before allowing a dereference on the
following line.  A snapshot of the bug report generated by CodeAi is
attached.  A full report is available upon request.

diff --git a/plugins/saveactions.c b/plugins/saveactions.c

@@ -280,8 +280,10 @@ static void instantsave_document_new_cb(GObject *obj,
GeanyDocument *doc, gpoint



  doc->file_name = new_filename;



- if (doc->file_type->id == GEANY_FILETYPES_NONE)

+ if(doc->file_type) {

+    if (doc->file_type->id == GEANY_FILETYPES_NONE)

  document_set_filetype(doc,
filetypes_lookup_by_name(instantsave_default_ft));

+ }



  /* force saving the file to enable all the related actions(tab name,
filetype, etc.) */

  document_save_file(doc, TRUE);

/* force saving the file to enable all the related actions(tab name,
filetype, etc.) */

document_save_file(doc, TRUE);

    }

}

Base-commit: 84253714771f48dbc7fab02f7de43f253734dee2

Please let me know if you are interested in seeing more fixes from our
tool. Thanks!

Sincerely,
-- 
Benjamin Bales
Chief Technology Officer
[image: QbitLogic]
1050 Crown Pointe Pkwy, Ste. 840
Atlanta, GA 30338
470-554-2690

CONFIDENTIALITY NOTICE

This e-mail and any files transmitted with it are confidential and are
intended solely for the use of the individual or entity to which they are
addressed.  This communication may contain privileged attorney material or
other Property and Confidential matter.  If you are not the intended
recipient or the person responsible for delivering the e-mail for the
intended person, be advised that you have received this e-mail in error and
that any use, dissemination, forwarding, printing, or copying of this
e-mail is strictly prohibited.  If you believe you have received this
e-mail in error, please immediately delete this e-mail and notify Benjamin
Bales by telephoning 470-554-2690.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/devel/attachments/20170510/37bc43c3/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: saveactions_c_283_null_pointer_deref.png
Type: image/png
Size: 116083 bytes
Desc: not available
URL: <http://lists.geany.org/pipermail/devel/attachments/20170510/37bc43c3/attachment-0001.png>


More information about the Devel mailing list