qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 00/44] Less clumsy error checking


From: Markus Armbruster
Subject: Re: [PATCH v3 00/44] Less clumsy error checking
Date: Mon, 06 Jul 2020 10:12:56 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

diff between v2 rebased and v3, with hunks that change only whitespace
dropped:

diff --git a/qapi/opts-visitor.c b/qapi/opts-visitor.c
index 6d8f4b6928..7781c23a42 100644
--- a/qapi/opts-visitor.c
+++ b/qapi/opts-visitor.c
@@ -235,12 +235,12 @@ opts_start_list(Visitor *v, const char *name, GenericList 
**list, size_t size,
     /* we don't support visits without a list */
     assert(list);
     ov->repeated_opts = lookup_distinct(ov, name, errp);
-    if (ov->repeated_opts) {
-        ov->list_mode = LM_IN_PROGRESS;
-        *list = g_malloc0(size);
-    } else {
+    if (!ov->repeated_opts) {
         *list = NULL;
+        return false;
     }
+    ov->list_mode = LM_IN_PROGRESS;
+    *list = g_malloc0(size);
     return true;
 }
 
diff --git a/qapi/qapi-clone-visitor.c b/qapi/qapi-clone-visitor.c
index 5a54bd593f..c45c5caa3b 100644
--- a/qapi/qapi-clone-visitor.c
+++ b/qapi/qapi-clone-visitor.c
@@ -56,8 +56,7 @@ static bool qapi_clone_start_list(Visitor *v, const char 
*name,
                                   GenericList **listp, size_t size,
                                   Error **errp)
 {
-    qapi_clone_start_struct(v, name, (void **)listp, size, errp);
-    return true;
+    return qapi_clone_start_struct(v, name, (void **)listp, size, errp);
 }
 
 static GenericList *qapi_clone_next_list(Visitor *v, GenericList *tail,
@@ -75,8 +74,7 @@ static bool qapi_clone_start_alternate(Visitor *v, const char 
*name,
                                        GenericAlternate **obj, size_t size,
                                        Error **errp)
 {
-    qapi_clone_start_struct(v, name, (void **)obj, size, errp);
-    return true;
+    return qapi_clone_start_struct(v, name, (void **)obj, size, errp);
 }
 
 static bool qapi_clone_type_int64(Visitor *v, const char *name, int64_t *obj,
diff --git a/qdev-monitor.c b/qdev-monitor.c
index 7ebb97cf0d..31cc1f6564 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -652,7 +652,6 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp)
 
     /* Check whether the hotplug is allowed by the machine */
     if (qdev_hotplug && !qdev_hotplug_allowed(dev, errp)) {
-        /* Error must be set in the machine hook */
         goto err_del_dev;
     }
 
diff --git a/qom/object.c b/qom/object.c
index 8d698abf4d..d6bba48e41 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1773,21 +1773,24 @@ static void object_set_link_property(Object *obj, 
Visitor *v,
     LinkProperty *prop = opaque;
     Object **targetp = object_link_get_targetp(obj, prop);
     Object *old_target = *targetp;
-    Object *new_target = NULL;
+    Object *new_target;
     char *path = NULL;
 
     if (!visit_type_str(v, name, &path, errp)) {
         return;
     }
 
-    if (strcmp(path, "") != 0) {
+    if (*path) {
         new_target = object_resolve_link(obj, name, path, errp);
+        if (!new_target) {
+            g_free(path);
+            return;
+        }
+    } else {
+        new_target = NULL;
     }
 
     g_free(path);
-    if (!new_target) {
-        return;
-    }
 
     prop->check(obj, name, new_target, &local_err);
     if (local_err) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]