summary refs log tree commit diff stats
path: root/util/qemu-option.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2016-04-28 11:05:37 +0100
committerPeter Maydell <peter.maydell@linaro.org>2016-04-28 11:05:37 +0100
commit736f85d5db701cc9d464a03b583d4a04606a0dd5 (patch)
treeb08061229b40f7b5d36f023f28b3c0e8c98ce604 /util/qemu-option.c
parent61861eff69279e20428c10be269ce1c1bba2c7b1 (diff)
parent51b9b478cc238ad23a78ffd713f9c18bbc3907e6 (diff)
downloadfocaccia-qemu-736f85d5db701cc9d464a03b583d4a04606a0dd5.tar.gz
focaccia-qemu-736f85d5db701cc9d464a03b583d4a04606a0dd5.zip
Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2016-04-28' into staging
Fix dangling pointers and error message regressions

# gpg: Signature made Thu 28 Apr 2016 07:25:51 BST using RSA key ID EB918653
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"

* remotes/armbru/tags/pull-error-2016-04-28:
  qom: -object error messages lost location, restore it
  replay: Fix dangling location bug in replay_configure()
  QemuOpts: Fix qemu_opts_foreach() dangling location regression

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'util/qemu-option.c')
-rw-r--r--util/qemu-option.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/util/qemu-option.c b/util/qemu-option.c
index dd9e73df54..3467dc2397 100644
--- a/util/qemu-option.c
+++ b/util/qemu-option.c
@@ -1108,19 +1108,19 @@ int qemu_opts_foreach(QemuOptsList *list, qemu_opts_loopfunc func,
 {
     Location loc;
     QemuOpts *opts;
-    int rc;
+    int rc = 0;
 
     loc_push_none(&loc);
     QTAILQ_FOREACH(opts, &list->head, next) {
         loc_restore(&opts->loc);
         rc = func(opaque, opts, errp);
         if (rc) {
-            return rc;
+            break;
         }
         assert(!errp || !*errp);
     }
     loc_pop(&loc);
-    return 0;
+    return rc;
 }
 
 static size_t count_opts_list(QemuOptsList *list)