[Gnucash-changes] Add some extra checks for null strings.

David Hampton hampton at cvs.gnucash.org
Sun Sep 25 11:35:49 EDT 2005


Log Message:
-----------
Add some extra checks for null strings.

Tags:
----
gnucash-gnome2-dev

Modified Files:
--------------
    gnucash:
        ChangeLog
    gnucash/src/app-utils:
        global-options.c
    gnucash/src/core-utils:
        gnc-gconf-utils.c
    gnucash/src/gnome-utils:
        dialog-preferences.c
        dialog-utils.c

Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.291
retrieving revision 1.1487.2.292
diff -LChangeLog -LChangeLog -u -r1.1487.2.291 -r1.1487.2.292
--- ChangeLog
+++ ChangeLog
@@ -1,5 +1,18 @@
+2005-09-25  David Hampton  <hampton at employees.org>
+
+	* src/app-utils/global-options.c:
+	* src/core-utils/gnc-gconf-utils.c:
+	* src/gnome-utils/dialog-preferences.c:
+	* src/gnome-utils/dialog-utils.c: Add some extra checks for null
+	strings.
+
 2005-09-24  David Hampton  <hampton at employees.org>
 
+	* src/report/standard-reports/register.scm: Update commented out
+	code to reflect the use of gconf.
+	
+	* src/app-utils/prefs.scm: Remove unused options.
+
 	* src/app-utils/global-options.c:
 	* src/app-utils/prefs.scm:
 	* src/gnome/schemas/apps_gnucash_general.schemas:
Index: gnc-gconf-utils.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/core-utils/Attic/gnc-gconf-utils.c,v
retrieving revision 1.1.2.10
retrieving revision 1.1.2.11
diff -Lsrc/core-utils/gnc-gconf-utils.c -Lsrc/core-utils/gnc-gconf-utils.c -u -r1.1.2.10 -r1.1.2.11
--- src/core-utils/gnc-gconf-utils.c
+++ src/core-utils/gnc-gconf-utils.c
@@ -70,6 +70,9 @@
   GEnumValue   *enum_value;
   gchar        *alt_name, *ptr;
 
+  if (name == NULL)
+    return default_value;
+
   /* Lookup the enum class in the glib type system */
   enum_class = g_type_class_ref (type);
   if (!enum_class) {
Index: global-options.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/global-options.c,v
retrieving revision 1.6.4.4
retrieving revision 1.6.4.5
diff -Lsrc/app-utils/global-options.c -Lsrc/app-utils/global-options.c -u -r1.6.4.4 -r1.6.4.5
--- src/app-utils/global-options.c
+++ src/app-utils/global-options.c
@@ -395,7 +395,7 @@
   gchar *choice, *mnemonic;
 
   choice = gnc_gconf_get_string(GCONF_GENERAL, KEY_CURRENCY_CHOICE, NULL);
-  if (strcmp(choice, "other") == 0) {
+  if (choice && strcmp(choice, "other") == 0) {
     mnemonic = gnc_gconf_get_string(GCONF_GENERAL, KEY_CURRENCY_OTHER, NULL);
     currency = gnc_commodity_table_lookup(gnc_get_current_commodities(),
 					  GNC_COMMODITY_NS_ISO, mnemonic);
@@ -418,7 +418,7 @@
 
   choice = gnc_gconf_get_string(GCONF_GENERAL_REPORT,
 				KEY_CURRENCY_CHOICE, NULL);
-  if (strcmp(choice, "other") == 0) {
+  if (choice && strcmp(choice, "other") == 0) {
     mnemonic = gnc_gconf_get_string(GCONF_GENERAL_REPORT,
 				    KEY_CURRENCY_OTHER, NULL);
     currency = gnc_commodity_table_lookup(gnc_get_current_commodities(),
Index: dialog-preferences.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Attic/dialog-preferences.c,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -Lsrc/gnome-utils/dialog-preferences.c -Lsrc/gnome-utils/dialog-preferences.c -u -r1.1.2.7 -r1.1.2.8
--- src/gnome-utils/dialog-preferences.c
+++ src/gnome-utils/dialog-preferences.c
@@ -927,7 +927,8 @@
   mnemonic = gnc_gconf_get_string(name, NULL, NULL);
   currency = gnc_commodity_table_lookup(gnc_get_current_commodities(),
 					GNC_COMMODITY_NS_ISO, mnemonic);
-  g_free(mnemonic);
+  if (mnemonic)
+    g_free(mnemonic);
 
   /* If there isn't any such commodity, get the default */
   if (!currency)
Index: dialog-utils.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/dialog-utils.c,v
retrieving revision 1.13.4.16
retrieving revision 1.13.4.17
diff -Lsrc/gnome-utils/dialog-utils.c -Lsrc/gnome-utils/dialog-utils.c -u -r1.13.4.16 -r1.13.4.17
--- src/gnome-utils/dialog-utils.c
+++ src/gnome-utils/dialog-utils.c
@@ -163,10 +163,11 @@
 					KEY_TOOLBAR_STYLE, NULL);
   }
 
+  if (style_string == NULL)
+    return GTK_TOOLBAR_BOTH;
   tbstyle = gnc_enum_from_nick(GTK_TYPE_TOOLBAR_STYLE, style_string,
 			       GTK_TOOLBAR_BOTH);
-  if (style_string != NULL)
-    free(style_string);
+  free(style_string);
 
   return tbstyle;
 }


More information about the gnucash-changes mailing list