mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-18 07:32:06 -06:00
net/slirp: fix leaks on forwarding rule registration error
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
This commit is contained in:
parent
8d45a3b946
commit
8e207c327c
1 changed files with 2 additions and 0 deletions
|
@ -807,6 +807,7 @@ static int slirp_guestfwd(SlirpState *s, const char *config_str, Error **errp)
|
||||||
qemu_chr_fe_init(&fwd->hd, chr, &err);
|
qemu_chr_fe_init(&fwd->hd, chr, &err);
|
||||||
if (err) {
|
if (err) {
|
||||||
error_propagate(errp, err);
|
error_propagate(errp, err);
|
||||||
|
object_unparent(OBJECT(chr));
|
||||||
g_free(fwd);
|
g_free(fwd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -815,6 +816,7 @@ static int slirp_guestfwd(SlirpState *s, const char *config_str, Error **errp)
|
||||||
&server, port) < 0) {
|
&server, port) < 0) {
|
||||||
error_setg(errp, "Conflicting/invalid host:port in guest "
|
error_setg(errp, "Conflicting/invalid host:port in guest "
|
||||||
"forwarding rule '%s'", config_str);
|
"forwarding rule '%s'", config_str);
|
||||||
|
qemu_chr_fe_deinit(&fwd->hd, true);
|
||||||
g_free(fwd);
|
g_free(fwd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue