QEMU-Devel Archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] qobject: Fix maybe uninitialized in qdict_array_split
@ 2021-06-15 13:09 Janosch Frank
  2021-09-16 10:25 ` Laurent Vivier
  0 siblings, 1 reply; 2+ messages in thread
From: Janosch Frank @ 2021-06-15 13:09 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-trivial, pbonzini, cohuck, philmd, borntraeger

Lets make the compiler happy.
Found on gcc version 10.3.0 (Ubuntu 10.3.0-1ubuntu1)

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 qobject/block-qdict.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/qobject/block-qdict.c b/qobject/block-qdict.c
index 1487cc5dd8..8d0f00bc3c 100644
--- a/qobject/block-qdict.c
+++ b/qobject/block-qdict.c
@@ -224,7 +224,6 @@ void qdict_array_split(QDict *src, QList **dst)
     for (i = 0; i < UINT_MAX; i++) {
         QObject *subqobj;
         bool is_subqdict;
-        QDict *subqdict;
         char indexstr[32], prefix[32];
         size_t snprintf_ret;
 
@@ -249,14 +248,16 @@ void qdict_array_split(QDict *src, QList **dst)
         }
 
         if (is_subqdict) {
+            QDict *subqdict = NULL;
+
             qdict_extract_subqdict(src, &subqdict, prefix);
             assert(qdict_size(subqdict) > 0);
+            qlist_append_obj(*dst, QOBJECT(subqdict));
         } else {
             qobject_ref(subqobj);
             qdict_del(src, indexstr);
+            qlist_append_obj(*dst, subqobj);
         }
-
-        qlist_append_obj(*dst, subqobj ?: QOBJECT(subqdict));
     }
 }
 
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] qobject: Fix maybe uninitialized in qdict_array_split
  2021-06-15 13:09 [PATCH v2] qobject: Fix maybe uninitialized in qdict_array_split Janosch Frank
@ 2021-09-16 10:25 ` Laurent Vivier
  0 siblings, 0 replies; 2+ messages in thread
From: Laurent Vivier @ 2021-09-16 10:25 UTC (permalink / raw)
  To: Janosch Frank, qemu-devel
  Cc: qemu-trivial, pbonzini, cohuck, philmd, borntraeger

Le 15/06/2021 à 15:09, Janosch Frank a écrit :
> Lets make the compiler happy.
> Found on gcc version 10.3.0 (Ubuntu 10.3.0-1ubuntu1)
> 
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  qobject/block-qdict.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/qobject/block-qdict.c b/qobject/block-qdict.c
> index 1487cc5dd8..8d0f00bc3c 100644
> --- a/qobject/block-qdict.c
> +++ b/qobject/block-qdict.c
> @@ -224,7 +224,6 @@ void qdict_array_split(QDict *src, QList **dst)
>      for (i = 0; i < UINT_MAX; i++) {
>          QObject *subqobj;
>          bool is_subqdict;
> -        QDict *subqdict;
>          char indexstr[32], prefix[32];
>          size_t snprintf_ret;
>  
> @@ -249,14 +248,16 @@ void qdict_array_split(QDict *src, QList **dst)
>          }
>  
>          if (is_subqdict) {
> +            QDict *subqdict = NULL;
> +

I think the "= NULL" is not needed with the v2 as the setter (qdict_extract_subqdict()) and
the user (qlist_append_obj()) are in the same block now.

>              qdict_extract_subqdict(src, &subqdict, prefix);
>              assert(qdict_size(subqdict) > 0);
> +            qlist_append_obj(*dst, QOBJECT(subqdict));
>          } else {
>              qobject_ref(subqobj);
>              qdict_del(src, indexstr);
> +            qlist_append_obj(*dst, subqobj);
>          }
> -
> -        qlist_append_obj(*dst, subqobj ?: QOBJECT(subqdict));
>      }
>  }
>  
> 

Thanks,
Laurent


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-09-16 10:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-15 13:09 [PATCH v2] qobject: Fix maybe uninitialized in qdict_array_split Janosch Frank
2021-09-16 10:25 ` Laurent Vivier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).