Browse Source

dtc: Audit and fix valgrind errors

The somewhat embarrasing bug in the first version of my previous patch
would have been detected by valgrind.  Thus reminded, I've run the
testsuite under valgrind and fixed any errors I found.  This turned
out to be just some uninitialized buffers in test programs.  The
fragments of uninitialized data aren't particularly important, but we
might as well squash the valgrind warnings, so that future valgrind
errors will stand out.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
main
David Gibson 15 years ago committed by Jon Loeliger
parent
commit
716418849a
  1. 7
      tests/mangle-layout.c
  2. 2
      tests/open_pack.c

7
tests/mangle-layout.c

@ -65,7 +65,7 @@ static void new_header(struct bufstate *buf, int version, const void *fdt) @@ -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 @@ -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);


2
tests/open_pack.c

@ -48,6 +48,8 @@ int main(int argc, char *argv[]) @@ -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);

Loading…
Cancel
Save