l2tpv3: fix fd leak

In this false branch, fd will leak when it is zero.
Change the testing condition.

Signed-off-by: Gonglei <arei.gonglei@huawei.com>
[Fix net_l2tpv3_cleanup as well. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Gonglei 2014-11-15 18:06:40 +08:00 committed by Paolo Bonzini
parent 77374582ab
commit d4754a9531

View File

@ -516,7 +516,7 @@ static void net_l2tpv3_cleanup(NetClientState *nc)
qemu_purge_queued_packets(nc); qemu_purge_queued_packets(nc);
l2tpv3_read_poll(s, false); l2tpv3_read_poll(s, false);
l2tpv3_write_poll(s, false); l2tpv3_write_poll(s, false);
if (s->fd > 0) { if (s->fd >= 0) {
close(s->fd); close(s->fd);
} }
destroy_vector(s->msgvec, MAX_L2TPV3_MSGCNT, IOVSIZE); destroy_vector(s->msgvec, MAX_L2TPV3_MSGCNT, IOVSIZE);
@ -745,7 +745,7 @@ int net_init_l2tpv3(const NetClientOptions *opts,
return 0; return 0;
outerr: outerr:
qemu_del_net_client(nc); qemu_del_net_client(nc);
if (fd > 0) { if (fd >= 0) {
close(fd); close(fd);
} }
if (result) { if (result) {