Blob Blame History Raw
--- vino-2.17.5/capplet/vino-preferences.c.base64	2007-01-07 12:29:18.000000000 -0500
+++ vino-2.17.5/capplet/vino-preferences.c	2007-01-24 10:59:37.000000000 -0500
@@ -455,12 +455,19 @@
   if (!entry->value || entry->value->type != GCONF_VALUE_STRING)
     return;
 
+  password = NULL;
+
   password_b64 = gconf_value_get_string (entry->value);
 
-  blob_len = 0;
-  blob = g_base64_decode (password_b64, &blob_len);
+  if (password_b64)
+    {
+      blob_len = 0;
+      blob = g_base64_decode (password_b64, &blob_len);
+    
+      password = g_strndup ((char *) blob, blob_len);
 
-  password = g_strndup ((char *) blob, blob_len);
+      g_free (blob);
+    }
 
   if (!password || !password [0])
     {
@@ -479,7 +486,6 @@
     }
 
   g_free (password);
-  g_free (blob);
 }
 
 static void
@@ -531,13 +537,16 @@
 
       password_b64 = gconf_client_get_string (dialog->client, VINO_PREFS_VNC_PASSWORD, NULL);
 
-      blob_len = 0;
-      blob = g_base64_decode (password_b64, &blob_len);
-
-      password = g_strndup ((char *) blob, blob_len);
+      if (password_b64)
+        {
+           blob_len = 0;
+           blob = g_base64_decode (password_b64, &blob_len);
 
-      g_free (blob);
-      g_free (password_b64);
+           password = g_strndup ((char *) blob, blob_len);
+        
+           g_free (blob);
+           g_free (password_b64);
+        }
 
       password_in_keyring = FALSE;
     }