[PATCH v2] qobject: Fix maybe uninitialized in qdict_array_split

Janosch Frank posted 1 patch 2 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/next-importer-push tags/patchew/20210615130921.55008-1-frankja@linux.ibm.com
qobject/block-qdict.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
[PATCH v2] qobject: Fix maybe uninitialized in qdict_array_split
Posted by Janosch Frank 2 years, 10 months ago
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