* dtc: Audit and fix valgrind errors
@ 2010-02-24 11:29 David Gibson
2010-02-24 14:57 ` Jon Loeliger
0 siblings, 1 reply; 2+ messages in thread
From: David Gibson @ 2010-02-24 11:29 UTC (permalink / raw)
To: Jon Loeliger; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
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-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
Index: dtc/tests/mangle-layout.c
===================================================================
--- dtc.orig/tests/mangle-layout.c 2010-02-24 20:53:14.863068216 +1100
+++ dtc/tests/mangle-layout.c 2010-02-24 21:42:10.543068162 +1100
@@ -65,7 +65,7 @@ static void new_header(struct bufstate *
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 *b
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);
Index: dtc/tests/open_pack.c
===================================================================
--- dtc.orig/tests/open_pack.c 2010-02-24 20:53:14.847091045 +1100
+++ dtc/tests/open_pack.c 2010-02-24 21:42:10.543068162 +1100
@@ -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);
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: dtc: Audit and fix valgrind errors
2010-02-24 11:29 dtc: Audit and fix valgrind errors David Gibson
@ 2010-02-24 14:57 ` Jon Loeliger
0 siblings, 0 replies; 2+ messages in thread
From: Jon Loeliger @ 2010-02-24 14:57 UTC (permalink / raw)
To: David Gibson; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
> 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-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
Applied.
Thanks,
jdl
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-02-24 14:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-24 11:29 dtc: Audit and fix valgrind errors David Gibson
2010-02-24 14:57 ` Jon Loeliger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox