mirror of
https://github.com/dgibson/dtc.git
synced 2025-10-13 16:27:39 -04:00
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>
This commit is contained in:
parent
05898c67c1
commit
716418849a
2 changed files with 6 additions and 3 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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…
Add table
Add a link
Reference in a new issue