summaryrefslogtreecommitdiff
path: root/recipes/e17/illume/gsm-segfault.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/e17/illume/gsm-segfault.patch')
-rw-r--r--recipes/e17/illume/gsm-segfault.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/recipes/e17/illume/gsm-segfault.patch b/recipes/e17/illume/gsm-segfault.patch
new file mode 100644
index 0000000000..f9fc2645b6
--- /dev/null
+++ b/recipes/e17/illume/gsm-segfault.patch
@@ -0,0 +1,27 @@
+Index: illume/src/e_mod_gad_gsm.c
+===================================================================
+--- illume.orig/src/e_mod_gad_gsm.c 2008-11-10 16:15:08.000000000 +0000
++++ illume/src/e_mod_gad_gsm.c 2008-11-10 16:16:23.000000000 +0000
+@@ -357,7 +357,7 @@
+ {
+ /* We care only about the provider name right now. All the other status
+ * informations get ingnored for the gadget for now */
+- const char *provider, *name, *reg_stat;
++ const char *provider = 0 , *name = 0, *reg_stat = 0;
+ DBusMessageIter iter, a_iter, s_iter, v_iter;
+
+ if (!dbus_message_has_signature(msg, "a{sv}")) return NULL;
+@@ -384,10 +384,13 @@
+ dbus_message_iter_next(&a_iter);
+ }
+
++ if (!reg_stat) return NULL;
+ if (strcmp(reg_stat, "unregistered") == 0) provider = "No Service";
+ else if (strcmp(reg_stat, "busy") == 0) provider = "Searching...";
+ else if (strcmp(reg_stat, "denied") == 0) provider = "SOS only";
+
++ if (!provider) return NULL;
++
+ return strdup(provider);
+ }
+