diff --git a/main/mdadm/APKBUILD b/main/mdadm/APKBUILD index 269301fc170861acff64a73f5f5cb8dd1fb61057..72ac12916695211e9bcb08541312483b5f2f91f6 100644 --- a/main/mdadm/APKBUILD +++ b/main/mdadm/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=mdadm pkgver=4.1 -pkgrel=2 +pkgrel=3 pkgdesc="a tool for managing Linux Software RAID arrays" url="https://neil.brown.name/blog/mdadm" arch="all" @@ -18,6 +18,7 @@ source="https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-$pkgver.tar.gz $pkgname-raid.initd no-werror.patch mdadm-include-sysmacros.patch + fix-use-after-free.patch " options="!check" @@ -68,4 +69,5 @@ ca5f4e3ff5b284102b44e818d11622e1889066e3d18edce2d62c1a44ee8f4cfdc0979121c0462a91 7d45bf489ef93a4f217ffcf72311eb661b8de7fbf63a5344697252c0d3a684b0123ff60efa5f218da4eb4cda7c88d91c2ef3625d5e44a588e3e1210cb60b0ab9 mdadm.confd 10d2456ca82c353c9b8540ca996de48575a60b83ede5b0bb7e960b4dd28aac2aa73eaeff4bdb99d03ce9630f986c2023b38fe332c5be74e0234985af6273a934 mdadm-raid.initd 794d6c31fbc0a9ef2f56d7b0afdb94490f0b677414d4f2b1b5104a51c4f39948491fc21aaa30ca75c90c9f056369317f48ea2f78e04ee740327114bee5d959b4 no-werror.patch -e711c15fada5fc98984f43f90a8ab3b6a2a20e9b91c56b5672fdb0ea127b61934b2f0c6ca986bd91c96c56b66f46326cb616101a62e4bfebe3a2b0d33ed2465c mdadm-include-sysmacros.patch" +e711c15fada5fc98984f43f90a8ab3b6a2a20e9b91c56b5672fdb0ea127b61934b2f0c6ca986bd91c96c56b66f46326cb616101a62e4bfebe3a2b0d33ed2465c mdadm-include-sysmacros.patch +5f3544af7a6e16d78581ed468766203991118a43f131538b39c52f5d38d4458e2e57f2ec32d3558b5fdec4952cad3d969955d0efc1392b785e8345d352ab5b7b fix-use-after-free.patch" diff --git a/main/mdadm/fix-use-after-free.patch b/main/mdadm/fix-use-after-free.patch new file mode 100644 index 0000000000000000000000000000000000000000..464a3eec7c8d2029dea8205f37410c833d057d91 --- /dev/null +++ b/main/mdadm/fix-use-after-free.patch @@ -0,0 +1,20 @@ +From Rich Felker. + +Fixed upstream in: +https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/policy.c?id=cd72f9d114da206baa01fd56ff2d8ffcc08f3239 + +diff --git a/policy.c b/policy.c +index c0d18a7e..78ad34cd 100644 +--- a/policy.c ++++ b/policy.c +@@ -214,8 +214,9 @@ static char *disk_path(struct mdinfo *disk) + continue; + if (stb.st_rdev != makedev(disk->disk.major, disk->disk.minor)) + continue; ++ char *result = xstrdup(ent->d_name); + closedir(by_path); +- return xstrdup(ent->d_name); ++ return result; + } + closedir(by_path); + }