From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44004) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCw2C-0001bj-75 for qemu-devel@nongnu.org; Tue, 05 Mar 2013 12:52:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UCw2A-0007UC-Bz for qemu-devel@nongnu.org; Tue, 05 Mar 2013 12:52:16 -0500 Received: from mx1.redhat.com ([209.132.183.28]:52208) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCw2A-0007U3-4w for qemu-devel@nongnu.org; Tue, 05 Mar 2013 12:52:14 -0500 From: Amit Shah Date: Tue, 5 Mar 2013 23:21:16 +0530 Message-Id: <16c806d60aa5e9660ed7751bb4e37dcd278f97f0.1362505276.git.amit.shah@redhat.com> In-Reply-To: References: In-Reply-To: References: Subject: [Qemu-devel] [PATCH 01/20] char-socket: fix error reporting List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu list Cc: Amit Shah , Anthony Liguori , Anthony Liguori From: Anthony Liguori 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 Signed-off-by: Amit Shah --- util/qemu-sockets.c | 4 ++++ 1 file changed, 4 insertions(+) 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; } -- 1.8.1.2