From: lichun Date: Sun, 21 Jun 2020 21:30:17 +0000 (+0800) Subject: chardev/tcp: Fix error message double free error X-Git-Tag: qemu-xen-4.14.1^2~39 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=54e74a45a58912dd7705d53e965e9092a0631aa5;p=qemu-xen.git chardev/tcp: Fix error message double free error Errors are already freed by error_report_err, so we only need to call error_free when that function is not called. Cc: qemu-stable@nongnu.org Signed-off-by: lichun Message-Id: <20200621213017.17978-1-lichun@ruijie.com.cn> Reviewed-by: Markus Armbruster [Commit message improved, cc: qemu-stable] Signed-off-by: Markus Armbruster (cherry picked from commit ed4e0d2ef140aef255d67eec30767e5fcd949f58) Signed-off-by: Michael Roth --- diff --git a/chardev/char-socket.c b/chardev/char-socket.c index e5ee685f8c..58917870cd 100644 --- a/chardev/char-socket.c +++ b/chardev/char-socket.c @@ -142,6 +142,8 @@ static void check_report_connect_error(Chardev *chr, "Unable to connect character device %s: ", chr->label); s->connect_err_reported = true; + } else { + error_free(err); } qemu_chr_socket_restart_timer(chr); } @@ -1083,7 +1085,6 @@ static void qemu_chr_socket_connected(QIOTask *task, void *opaque) if (qio_task_propagate_error(task, &err)) { tcp_chr_change_state(s, TCP_CHARDEV_STATE_DISCONNECTED); check_report_connect_error(chr, err); - error_free(err); goto cleanup; }