Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=27a673f89a088b92aca67b0bac35a6baee4ee413
commit 27a673f89a088b92aca67b0bac35a6baee4ee413 Author: Daniel Exner <d...@joshua.dragonslave.zz> Date: Mon Oct 12 20:34:22 2009 +0200 mdadm-3.0.2-2-i686 * added patch to fix udev segfault at boot * removed sha1sums * thx Boobaa :-) diff --git a/source/base/mdadm/FrugalBuild b/source/base/mdadm/FrugalBuild index 1fb7d8c..ddb077f 100644 --- a/source/base/mdadm/FrugalBuild +++ b/source/base/mdadm/FrugalBuild @@ -3,7 +3,7 @@ pkgname=mdadm pkgver=3.0.2 -pkgrel=1 +pkgrel=2 pkgdesc="A tool for managing software RAID under Linux" url="http://www.kernel.org/pub/linux/utils/raid/mdadm/" depends=('glibc>=2.8-3') @@ -14,8 +14,9 @@ backup=(etc/{mdadm.conf,sysconfig/mdadm}) _F_archive_grepv="\(rc\|devel\)" up2date="Flasttar $url" source=($url/$pkgname-$pkgver.tar.bz2 \ + segfault_fix.patch \ mdadm rc.mdadm rc.mdadm-{de,hu}.po) -signatures=("${source[0]}.sign" '' '' '' '') +signatures=("${source[0]}.sign" '' '' '' '' '') build() { diff --git a/source/base/mdadm/segfault_fix.patch b/source/base/mdadm/segfault_fix.patch new file mode 100644 index 0000000..27d758a --- /dev/null +++ b/source/base/mdadm/segfault_fix.patch @@ -0,0 +1,49 @@ +From 2b9aa337af7291d3f141322da96c9f667c99d53c Mon Sep 17 00:00:00 2001 +From: NeilBrown <ne...@suse.de> +Date: Thu, 1 Oct 2009 12:51:04 +1000 +Subject: [PATCH] Fix null-dereference in set_member_info + +set_member_info would try to dereference ->metadata_version, without +checking that it isn't NULL. + +Signed-off-by: NeilBrown <ne...@suse.de> +--- + mapfile.c | 15 +++++++++------ + 1 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/mapfile.c b/mapfile.c +index a3038be..ed59db5 100644 +--- a/mapfile.c ++++ b/mapfile.c +@@ -303,19 +303,22 @@ struct map_ent *map_by_name(struct map_ent **map, char *name) + */ + static void set_member_info(struct supertype *st, struct mdstat_ent *ent) + { +- char version[strlen(ent->metadata_version)+1]; + + st->subarray[0] = '\0'; + +- if (strncmp(ent->metadata_version, "external:", 9) != 0) ++ if (ent->metadata_version == NULL || ++ strncmp(ent->metadata_version, "external:", 9) != 0) + return; + +- strcpy(version, ent->metadata_version); +- +- if (is_subarray(&version[9])) { +- char *subarray = strrchr(version, '/'); ++ if (is_subarray(&ent->metadata_version[9])) { ++ char version[strlen(ent->metadata_version)+1]; ++ char *subarray; + char *name = &version[10]; + ++ strcpy(version, ent->metadata_version); ++ subarray = strrchr(version, '/'); ++ name = &version[10]; ++ + if (!subarray) + return; + *subarray++ = '\0'; +-- +1.6.3.3 + _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git