From: Marc-André Lureau Date: Thu, 17 Jan 2019 11:43:36 +0000 (+0400) Subject: net/slirp: fix leaks on forwarding rule registration error X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8e207c327cf89aca02ea4c7e3109d285df048d55;p=qemu.git net/slirp: fix leaks on forwarding rule registration error Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- diff --git a/net/slirp.c b/net/slirp.c index 750105a466..0b15f427f5 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -807,6 +807,7 @@ static int slirp_guestfwd(SlirpState *s, const char *config_str, Error **errp) qemu_chr_fe_init(&fwd->hd, chr, &err); if (err) { error_propagate(errp, err); + object_unparent(OBJECT(chr)); g_free(fwd); return -1; } @@ -815,6 +816,7 @@ static int slirp_guestfwd(SlirpState *s, const char *config_str, Error **errp) &server, port) < 0) { error_setg(errp, "Conflicting/invalid host:port in guest " "forwarding rule '%s'", config_str); + qemu_chr_fe_deinit(&fwd->hd, true); g_free(fwd); return -1; }