diff options
author | NeilBrown <neilb@suse.com> | 2015-12-21 13:01:10 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.com> | 2015-12-21 13:01:10 +1100 |
commit | a0d12d51a7a12d14963f60d99bad6e71c7d0b202 (patch) | |
tree | 71a722757a46d697ec8adfacb420ad7b83120fe1 | |
parent | 9da5a4897d392b4489689f548ea2b865e6f4b6e2 (diff) | |
parent | 1158f25eaeaa840307725588db79e01a96f54144 (diff) | |
download | mdadm-a0d12d51a7a12d14963f60d99bad6e71c7d0b202.tar.gz |
Merge branch 'fix-unlikely-potential-overflows' of https://github.com/sjvs/mdadm
-rw-r--r-- | Incremental.c | 8 | ||||
-rw-r--r-- | mapfile.c | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/Incremental.c b/Incremental.c index 7afa7d7..24fd827 100644 --- a/Incremental.c +++ b/Incremental.c @@ -667,7 +667,7 @@ static void find_reject(int mdfd, struct supertype *st, struct mdinfo *sra, * without thinking more */ for (d = sra->devs; d ; d = d->next) { - char dn[10]; + char dn[24]; // 2*11 bytes for ints (including sign) + colon + null byte int dfd; struct mdinfo info; sprintf(dn, "%d:%d", d->disk.major, d->disk.minor); @@ -1034,12 +1034,12 @@ static int array_try_spare(char *devname, int *dfdp, struct dev_policy *pol, int mdfd = open_dev(chosen->sys_name); if (mdfd >= 0) { struct mddev_dev devlist; - char devname[20]; + char chosen_devname[24]; // 2*11 for int (including signs) + colon + null devlist.next = NULL; devlist.used = 0; devlist.writemostly = 0; - devlist.devname = devname; - sprintf(devname, "%d:%d", major(stb.st_rdev), + devlist.devname = chosen_devname; + sprintf(chosen_devname, "%d:%d", major(stb.st_rdev), minor(stb.st_rdev)); devlist.disposition = 'a'; close(dfd); @@ -176,7 +176,7 @@ void map_read(struct map_ent **melp) { FILE *f; char buf[8192]; - char path[200]; + char path[201]; int uuid[4]; char devnm[32]; char metadata[30]; |