Message ID | 1361224096-21075-2-git-send-email-aliguori@us.ibm.com |
---|---|
State | New |
Headers | show |
diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c index 1350ccc..3f12296 100644 --- a/util/qemu-sockets.c +++ b/util/qemu-sockets.c @@ -373,6 +373,10 @@ int inet_connect_opts(QemuOpts *opts, Error **errp, } for (e = res; e != NULL; e = e->ai_next) { + if (error_is_set(errp)) { + error_free(*errp); + *errp = NULL; + } if (connect_state != NULL) { connect_state->current_addr = e; }
Right now the inet connect code tries all available addresses but until one doesn't fail. It passes local_err each time without clearing it from the previous failure. This can trigger an assert since the inet connect code tries to set an error on an object != NULL. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> --- util/qemu-sockets.c | 4 ++++ 1 file changed, 4 insertions(+)