diff --git a/tests/mangle-layout.c b/tests/mangle-layout.c index 5be28b9..3b19788 100644 --- a/tests/mangle-layout.c +++ b/tests/mangle-layout.c @@ -65,7 +65,7 @@ static void new_header(struct bufstate *buf, int version, const void *fdt) static void add_block(struct bufstate *buf, int version, char block, const void *fdt) { - int align, size; + int align, size, oldsize; const void *src; int offset; @@ -95,9 +95,10 @@ static void add_block(struct bufstate *buf, int version, char block, const void CONFIG("Bad block '%c'", block); } - offset = ALIGN(buf->size, align); - + oldsize = buf->size; + offset = ALIGN(oldsize, align); expand_buf(buf, offset+size); + memset(buf->buf + oldsize, 0, offset - oldsize); memcpy(buf->buf + offset, src, size); diff --git a/tests/open_pack.c b/tests/open_pack.c index d614024..0a5a3fc 100644 --- a/tests/open_pack.c +++ b/tests/open_pack.c @@ -48,6 +48,8 @@ int main(int argc, char *argv[]) bufsize = oldsize * 2; buf = xmalloc(bufsize); + /* don't leak uninitialized memory into our output */ + memset(buf, 0, bufsize); fdt1 = buf; err = fdt_open_into(fdt, fdt1, bufsize);