[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/1] loader: g_realloc(p, 0) frees and returns N
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH 1/1] loader: g_realloc(p, 0) frees and returns NULL, simplify |
Date: |
Wed, 20 Aug 2014 23:22:29 +0200 |
On Wed, Aug 20, 2014 at 08:38:11PM +0200, Markus Armbruster wrote:
> Once upon a time, it was decided that qemu_realloc(ptr, 0) should
> abort. Switching to glib retired that bright idea. A bit of code
> that was added to cope with it (commit 3e372cf) is still around. Bury
> it.
>
> See also commit 6528499.
>
> Signed-off-by: Markus Armbruster <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
> ---
> include/hw/elf_ops.h | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/include/hw/elf_ops.h b/include/hw/elf_ops.h
> index c6b5129..a517753 100644
> --- a/include/hw/elf_ops.h
> +++ b/include/hw/elf_ops.h
> @@ -147,18 +147,13 @@ static int glue(load_symbols, SZ)(struct elfhdr *ehdr,
> int fd, int must_swab,
> }
> i++;
> }
> - if (nsyms) {
> - syms = g_realloc(syms, nsyms * sizeof(*syms));
> + syms = g_realloc(syms, nsyms * sizeof(*syms));
>
> - qsort(syms, nsyms, sizeof(*syms), glue(symcmp, SZ));
> - for (i = 0; i < nsyms - 1; i++) {
> - if (syms[i].st_size == 0) {
> - syms[i].st_size = syms[i + 1].st_value - syms[i].st_value;
> - }
> + qsort(syms, nsyms, sizeof(*syms), glue(symcmp, SZ));
> + for (i = 0; i < nsyms - 1; i++) {
> + if (syms[i].st_size == 0) {
> + syms[i].st_size = syms[i + 1].st_value - syms[i].st_value;
> }
> - } else {
> - g_free(syms);
> - syms = NULL;
> }
>
> /* String table */
> --
> 1.9.3