[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [Qemu-devel] [PATCH] json-parser: Fix potential NULL
From: |
Luiz Capitulino |
Subject: |
Re: [Qemu-trivial] [Qemu-devel] [PATCH] json-parser: Fix potential NULL pointer segfault |
Date: |
Mon, 3 Sep 2012 13:41:29 -0300 |
On Sat, 1 Sep 2012 12:52:58 +0200
Stefan Weil <address@hidden> wrote:
> Report from smatch:
> json-parser.c:474 parse_object(62) error: potential null derefence 'dict'.
> json-parser.c:553 parse_array(75) error: potential null derefence 'list'.
>
> Label out can be called with list == NULL.
>
> Signed-off-by: Stefan Weil <address@hidden>
> ---
> json-parser.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/json-parser.c b/json-parser.c
> index 457291b..c31c759 100644
> --- a/json-parser.c
> +++ b/json-parser.c
> @@ -471,7 +471,9 @@ static QObject *parse_object(JSONParserContext *ctxt,
> va_list *ap)
>
> out:
> parser_context_restore(ctxt, saved_ctxt);
> - QDECREF(dict);
> + if (dict) {
> + QDECREF(dict);
> + }
I prefer changing QDECREF() to a nop if obj is NULL.
> return NULL;
> }
>
> @@ -550,7 +552,9 @@ static QObject *parse_array(JSONParserContext *ctxt,
> va_list *ap)
>
> out:
> parser_context_restore(ctxt, saved_ctxt);
> - QDECREF(list);
> + if (list) {
> + QDECREF(list);
> + }
> return NULL;
> }
>