discomfitor pushed a commit to branch master.
commit c7482d9b7dad135cbf34311351335fe9c1c63a05
Author: Mike Blumenkrantz <[email protected]>
Date: Mon Feb 25 09:22:29 2013 +0000
fix edbus crash in udisks efm backend
---
src/bin/e_fm/e_fm_main_udisks.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/bin/e_fm/e_fm_main_udisks.c b/src/bin/e_fm/e_fm_main_udisks.c
index e6e7870..0b19f5d 100644
--- a/src/bin/e_fm/e_fm_main_udisks.c
+++ b/src/bin/e_fm/e_fm_main_udisks.c
@@ -582,14 +582,16 @@ _e_fm_main_udisks_cb_vol_prop(void *data, const
EDBus_Message *msg,
}
else if (!strcmp(key, "PartitionSlave"))
{
- char *partition_slave;
+ char *partition_slave, buf[4096];
if (!edbus_message_iter_arguments_get(var, "o", &partition_slave))
continue;
- partition_slave = strdup(partition_slave);
- sprintf(partition_slave, "/dev/%s",
- partition_slave +
strlen("/org/freedesktop/UDisks/devices/"));
- eina_stringshare_replace(&v->parent, partition_slave);
- free(partition_slave);
+ if ((!partition_slave) || (strlen(partition_slave) <
sizeof("/org/freedesktop/UDisks/devices/")))
+ eina_stringshare_replace(&v->parent, partition_slave);
+ else
+ {
+ snprintf(buf, sizeof(buf), "/dev/%s", partition_slave +
sizeof("/org/freedesktop/UDisks/devices/") - 1);
+ eina_stringshare_replace(&v->parent, buf);
+ }
}
}
--
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb