Dan Williams: imsm: ensure mpb buffer is zeroed

Martin F. Krafft madduck at alioth.debian.org
Thu May 7 12:11:40 UTC 2009


Module: mdadm
Branch: debian/experimental
Commit: 1f45a8ad2083d6b9de6e37ae46e8ac957694d0f8
URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=commit;h=1f45a8ad2083d6b9de6e37ae46e8ac957694d0f8

Author: Dan Williams <dan.j.williams at intel.com>
Date:   Sun Apr 12 00:58:27 2009 -0700

imsm: ensure mpb buffer is zeroed

Don't leak unitialized data into the mpb.

Signed-off-by: Dan Williams <dan.j.williams at intel.com>




---

 super-intel.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/super-intel.c b/super-intel.c
index 328a335..4754b25 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -1746,7 +1746,8 @@ static int parse_raid_devices(struct intel_super *super)
 		if (posix_memalign(&buf, 512, len) != 0)
 			return 1;
 
-		memcpy(buf, super->buf, len);
+		memcpy(buf, super->buf, super->len);
+		memset(buf + super->len, 0, len - super->len);
 		free(super->buf);
 		super->buf = buf;
 		super->len = len;
@@ -4382,7 +4383,9 @@ static void imsm_prepare_update(struct supertype *st,
 			free(super->next_buf);
 
 		super->next_len = buf_len;
-		if (posix_memalign(&super->next_buf, 512, buf_len) != 0)
+		if (posix_memalign(&super->next_buf, 512, buf_len) == 0)
+			memset(super->next_buf, 0, buf_len);
+		else
 			super->next_buf = NULL;
 	}
 }




More information about the pkg-mdadm-commits mailing list