Hello,

Attached please find two small patches for e_dbus and the places module. They fix segfaults for me (triggered in e_hal_property_bool_get()) that I was experiencing when resuming my laptop after suspend. It'd be great if you could review and apply them if considered adequate.

Thanks,   Nick.


--- E-MODULES-EXTRA/places/src/e_mod_places.c	2011-01-18 13:18:43.000000000 -0500
+++ E-MODULES-EXTRA/places_tmp/src/e_mod_places.c	2011-01-19 11:32:38.000000000 -0500
@@ -942,6 +942,9 @@
    str = e_hal_property_string_get(reply, "volume.fsusage", &err);
    if (err || !str || strcmp(str, "filesystem"))
      return;
+
+   if (!v) return;
+
    //~ v->uuid = e_hal_property_string_get(ret, "volume.uuid", &err);
   //~ if (err) goto error;
 
--- e_dbus/src/lib/hal/e_hal_util.c	2010-11-12 15:22:31.000000000 -0500
+++ e_dbus_tmp/src/lib/hal/e_hal_util.c	2011-01-19 11:40:10.000000000 -0500
@@ -32,6 +32,7 @@
 {
   E_Hal_Property *prop;
   if (err) *err = 0;
+  if (!properties) return NULL;
   if (!properties->properties) return NULL;
   if (!key) return NULL;
   prop = eina_hash_find(properties->properties, key);
@@ -46,6 +47,7 @@
 {
   E_Hal_Property *prop;
   if (err) *err = 0;
+  if (!properties) return EINA_FALSE;
   if (!properties->properties) return EINA_FALSE;
   if (!key) return EINA_FALSE;
   prop = eina_hash_find(properties->properties, key);
@@ -60,6 +62,7 @@
 {
   E_Hal_Property *prop;
   if (err) *err = 0;
+  if (!properties) return 0;
   if (!properties->properties) return 0;
   if (!key) return 0;
   prop = eina_hash_find(properties->properties, key);
@@ -74,6 +77,7 @@
 {
   E_Hal_Property *prop;
   if (err) *err = 0;
+  if (!properties) return 0;
   if (!properties->properties) return 0;
   if (!key) return 0;
   prop = eina_hash_find(properties->properties, key);
@@ -88,6 +92,7 @@
 {
   E_Hal_Property *prop;
   if (err) *err = 0;
+  if (!properties) return 0;
   if (!properties->properties) return 0;
   if (!key) return 0;
   prop = eina_hash_find(properties->properties, key);
@@ -102,6 +107,7 @@
 {
   E_Hal_Property *prop;
   if (err) *err = 0;
+  if (!properties) return NULL;
   if (!properties->properties) return NULL;
   if (!key) return NULL;
   prop = eina_hash_find(properties->properties, key);
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to