diff options
Diffstat (limited to 'kexec/arch/ppc64/fs2dt.c')
-rw-r--r-- | kexec/arch/ppc64/fs2dt.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kexec/arch/ppc64/fs2dt.c b/kexec/arch/ppc64/fs2dt.c index 447da64..2b81402 100644 --- a/kexec/arch/ppc64/fs2dt.c +++ b/kexec/arch/ppc64/fs2dt.c @@ -374,7 +374,7 @@ void putnode(void) } int create_flatten_tree(struct kexec_info *info, unsigned char **bufp, - unsigned long *sizep, char *cmdline) + unsigned long *sizep, char *cmdline) { unsigned long len; unsigned long tlen; @@ -420,10 +420,10 @@ int create_flatten_tree(struct kexec_info *info, unsigned char **bufp, reserve(me, bb->totalsize); /* patched later in kexec_load */ - buf = (unsigned char *) realloc(*bufp, *sizep + bb->totalsize); + buf = (unsigned char *) malloc(bb->totalsize); *bufp = buf; - memcpy(buf+(*sizep), bb, bb->off_mem_rsvmap); - tlen = *sizep + bb->off_mem_rsvmap; + memcpy(buf, bb, bb->off_mem_rsvmap); + tlen = bb->off_mem_rsvmap; memcpy(buf+tlen, mem_rsrv, bb->off_dt_struct - bb->off_mem_rsvmap); tlen = tlen + (bb->off_dt_struct - bb->off_mem_rsvmap); memcpy(buf+tlen, dtstruct, bb->off_dt_strings - bb->off_dt_struct); |