mirror of https://gitee.com/openkylin/libvirt.git
daemon: plug a memory leak
* daemon/libvirtd.c (qemudFreeClient): Avoid a leak. (qemudDispatchServer): Avoid null dereference.
This commit is contained in:
parent
013c000a6c
commit
24384a7579
|
@ -1410,7 +1410,7 @@ static int qemudDispatchServer(struct qemud_server *server, struct qemud_socket
|
||||||
/* Client is running as root, so disable auth */
|
/* Client is running as root, so disable auth */
|
||||||
if (uid == 0) {
|
if (uid == 0) {
|
||||||
VIR_INFO(_("Turn off polkit auth for privileged client pid %d from %s"),
|
VIR_INFO(_("Turn off polkit auth for privileged client pid %d from %s"),
|
||||||
pid, addrstr);
|
pid, client->addrstr);
|
||||||
client->auth = REMOTE_AUTH_NONE;
|
client->auth = REMOTE_AUTH_NONE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1451,7 +1451,7 @@ static int qemudDispatchServer(struct qemud_server *server, struct qemud_socket
|
||||||
} else {
|
} else {
|
||||||
PROBE(CLIENT_TLS_FAIL, "fd=%d", client->fd);
|
PROBE(CLIENT_TLS_FAIL, "fd=%d", client->fd);
|
||||||
VIR_ERROR(_("TLS handshake failed for client %s: %s"),
|
VIR_ERROR(_("TLS handshake failed for client %s: %s"),
|
||||||
addrstr, gnutls_strerror (ret));
|
client->addrstr, gnutls_strerror (ret));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2283,6 +2283,7 @@ static void qemudFreeClient(struct qemud_client *client) {
|
||||||
if (client->conn)
|
if (client->conn)
|
||||||
virConnectClose(client->conn);
|
virConnectClose(client->conn);
|
||||||
virMutexDestroy(&client->lock);
|
virMutexDestroy(&client->lock);
|
||||||
|
VIR_FREE(client->addrstr);
|
||||||
VIR_FREE(client);
|
VIR_FREE(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue