patches/bug-buddy-04-printf-null-crash.diff
author rohinis
Tue, 29 Nov 2011 17:32:55 +0000
branchs11express-2010-11
changeset 22234 c23e64da3e06
parent 15365 fcef8812542c
permissions -rw-r--r--
2011-11-29 Rohini S <[email protected]> * patches/Python26-22-audio.diff: Fixes CVE-2010-1634 * specs/SUNWPython26.spec: Fixes CR 7085446

/jds/bin/diff -uprN bug-buddy-2.25.91.old/src/bug-buddy.c bug-buddy-2.25.91/src/bug-buddy.c
--- bug-buddy-2.25.91.old/src/bug-buddy.c	2009-03-11 11:13:44.516038000 +0000
+++ bug-buddy-2.25.91/src/bug-buddy.c	2009-03-11 11:26:00.127656000 +0000
@@ -1717,13 +1717,18 @@ fill_system_info (GtkBuilder *ui)
 	modules = NULL;
 
 	if (uname (&uts_buf) == 0) {
-		g_string_append_printf (system_info, "System: %s %s %s %s\n", uts_buf.sysname, uts_buf.release, uts_buf.version, uts_buf.machine);
+		g_string_append_printf (system_info, "System: %s %s %s %s\n",
+            (uts_buf.sysname ? uts_buf.sysname : " "),
+            (uts_buf.release ? uts_buf.release : " "),
+            (uts_buf.version ? uts_buf.version : " "),
+            (uts_buf.machine ? uts_buf.machine : " "));
 	}
 
 	/* X server checks */
-	g_string_append_printf (system_info, "X Vendor: %s\n", ServerVendor (gdk_display));
-	g_string_append_printf (system_info, "X Vendor Release: %d\n", VendorRelease (gdk_display));
-	
+	g_string_append_printf (system_info, "X Vendor: %s\n",
+       (ServerVendor(gdk_display) != NULL ? ServerVendor(gdk_display) : " "));
+	g_string_append_printf (system_info, "X Vendor Release: %d\n",
+       (VendorRelease(gdk_display) != NULL ? VendorRelease(gdk_display) : " "));
 	
 	/* Selinux checks */
 	has_selinux = FALSE;
@@ -1747,10 +1752,12 @@ fill_system_info (GtkBuilder *ui)
 	a11y = gconf_client_get_bool (gconf_client, ACCESSIBILITY_KEY, NULL);
 	g_string_append_printf (system_info, "Accessibility: %s\n", a11y?"Enabled":"Disabled");
 	str = gconf_client_get_string (gconf_client, GTK_THEME_KEY, NULL);
-	g_string_append_printf (system_info, "GTK+ Theme: %s\n", str);
+	g_string_append_printf (system_info, "GTK+ Theme: %s\n",
+        (str ? str : " "));
 	g_free (str);
 	str = gconf_client_get_string (gconf_client, ICON_THEME_KEY, NULL);
-	g_string_append_printf (system_info, "Icon Theme: %s\n", str);
+	g_string_append_printf (system_info, "Icon Theme: %s\n",
+        (str ? str : " "));
 	g_free (str);
 
 	/* add the GTK+ loaded modules. to do that, we look both in GConf and
@@ -1783,7 +1790,8 @@ fill_system_info (GtkBuilder *ui)
 				name = gconf_get_key_name_from_path (gconf_entry_get_key (entry));
 
 				if (!g_strstr_len (modules->str, modules->len, name)) {
-					g_string_append_printf (modules, "%s, ", name);
+					g_string_append_printf (modules, "%s, ",
+                        (name ? name : " "));
 				}
 
 				g_free (name);
@@ -1809,7 +1817,8 @@ fill_system_info (GtkBuilder *ui)
 
 		for (i = 0; splitted[i]; i++) {
 			if (!g_strstr_len (modules->str, modules->len, splitted[i])) {
-				g_string_append_printf (modules, "%s, ", splitted[i]);
+				g_string_append_printf (modules, "%s, ",
+                    (splitted[i] ? splitted[i] : " "));
 			}
 		}