diff options
author | Martin Pitt <martin.pitt@ubuntu.com> | 2015-06-29 16:41:28 +0200 |
---|---|---|
committer | Martin Pitt <martin.pitt@ubuntu.com> | 2015-06-29 16:41:28 +0200 |
commit | 9dd9c47f5db9b05656a13bee1330f2353b184805 (patch) | |
tree | d0cbb1cb466ecdbde10fe9624aef22813668ba3b | |
parent | 2705225f0f66eda01e93b226d12e3749b1ece64b (diff) |
Fix crash on inaccessible RAID member "state" attribute
g_variant_new() doesn't like NULL pointers for empty arrays, so allocate an
empty array if we cannot read the attribute.
https://bugs.freedesktop.org/show_bug.cgi?id=91011
-rw-r--r-- | src/udiskslinuxmdraid.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/udiskslinuxmdraid.c b/src/udiskslinuxmdraid.c index d7c507a..a314715 100644 --- a/src/udiskslinuxmdraid.c +++ b/src/udiskslinuxmdraid.c @@ -476,6 +476,12 @@ udisks_linux_mdraid_update (UDisksLinuxMDRaid *mdraid, g_strstrip (member_state); member_state_elements = g_strsplit (member_state, ",", 0); } + else + { + // g_variant_new() doesn't like NULL pointers for empty + // arrays + member_state_elements = g_new0 (gchar*, 1); + } snprintf (buf, sizeof (buf), "md/%s/slot", file_name); member_slot = read_sysfs_attr (raid_device->udev_device, buf); |