Hi all,

Three possible NULL pointer dereferences fixed in the attached patch.

Cheers,
Erik
-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
# Subject: Make sure variable kb is non-NULL before dereferencing.
# Author: Erik de Castro Lopo <[email protected]>
# Forwarded: yes
# Last-Update: 2010-09-10

=== modified file 'src/tools.c'
--- geany-bzr.orig/src/tools.c	2010-01-01 21:55:18 +0000
+++ geany-bzr/src/tools.c	2010-09-10 07:27:07 +0000
@@ -458,7 +458,7 @@
 		kb = keybindings_lookup_item(GEANY_KEY_GROUP_FORMAT, key_idx);

 	item = gtk_menu_item_new_with_label(label);
-	if (key_idx != -1)
+	if (kb && key_idx != -1)
 		gtk_widget_add_accelerator(item, "activate", gtk_accel_group_new(),
 			kb->key, kb->mods, GTK_ACCEL_VISIBLE);
 	gtk_container_add(GTK_CONTAINER(me), item);

=== modified file 'src/search.c'
--- geany-bzr.orig/src/search.c	2010-09-09 16:56:42 +0000
+++ geany-bzr/src/search.c	2010-09-10 07:27:07 +0000
@@ -1528,7 +1528,7 @@
 		argv[i] = g_strdup(argv_prefix[i]);

 	item = list;
-	for (j = 0; j < list_len; j++)
+	for (j = 0; item != NULL && j < list_len; j++)
 	{
 		argv[i++] = item->data;
 		item = g_slist_next(item);

=== modified file 'tagmanager/python.c'
--- geany-bzr.orig/tagmanager/python.c	2010-04-18 21:42:58 +0000
+++ geany-bzr/tagmanager/python.c	2010-09-10 07:53:28 +0000
@@ -411,9 +411,9 @@
 	{
 		n = nls->levels + i;
 		/* is there a better way to compare two vStrings? */
-		if (strcmp(vStringValue(parent), vStringValue(n->name)) == 0)
+		if (n && strcmp(vStringValue(parent), vStringValue(n->name)) == 0)
 		{
-			if (n && indent <= n->indentation)
+			if (indent <= n->indentation)
 			{
 				/* remove this level by clearing its name */
 				vStringClear(n->name);

_______________________________________________
Geany-devel mailing list
[email protected]
http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel

Reply via email to