diff options
Diffstat (limited to 'source/l/hal/patches/fix_segfault_in_mdraid.diff')
-rw-r--r-- | source/l/hal/patches/fix_segfault_in_mdraid.diff | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/source/l/hal/patches/fix_segfault_in_mdraid.diff b/source/l/hal/patches/fix_segfault_in_mdraid.diff new file mode 100644 index 00000000..88e5eaf6 --- /dev/null +++ b/source/l/hal/patches/fix_segfault_in_mdraid.diff @@ -0,0 +1,36 @@ +Author: Martin Poole <mpoole@redhat.com> +Date: Wed Jul 29 14:20:45 2009 +0100 + + Fix a segfault in the mdraid code -- see rh#507782 for more info + + Signed-off-by: Richard Hughes <richard@hughsie.com> + +diff -Nur hal-0.5.11.orig/hald/linux/blockdev.c hal-0.5.11/hald/linux/blockdev.c +--- hal-0.5.11.orig/hald/linux/blockdev.c 2008-05-07 18:23:41.000000000 -0500 ++++ hal-0.5.11/hald/linux/blockdev.c 2009-07-30 16:22:40.624837902 -0500 +@@ -851,7 +851,7 @@ + } + + +-void ++ + hotplug_event_begin_add_blockdev (const gchar *sysfs_path, const gchar *device_file, gboolean is_partition, + HalDevice *parent, void *end_token) + { +@@ -865,6 +865,7 @@ + gboolean is_device_mapper; + gboolean is_md_device; + int md_number; ++ char tc; + + is_device_mapper = FALSE; + is_fakevolume = FALSE; +@@ -882,7 +883,7 @@ + HAL_INFO (("Handling %s as fakevolume - sysfs_path_real=%s", device_file, sysfs_path_real)); + is_fakevolume = TRUE; + sysfs_path_real = hal_util_get_parent_path (sysfs_path); +- } else if (sscanf (hal_util_get_last_element (sysfs_path), "md%d", &md_number) == 1) { ++ } else if (sscanf (hal_util_get_last_element (sysfs_path), "md%d%c", &md_number, &tc) == 1) { + HAL_INFO (("Handling %s as MD device", device_file)); + is_md_device = TRUE; + sysfs_path_real = g_strdup (sysfs_path); |