1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2024-12-23 21:34:54 +03:00

util: netdev: Don't crash in virNetDevSetIPAddress if @peer is NULL

VIR_SOCKET_ADDR_VALID dereferences the pointer, thus if we pass NULL
into virNetDevSetIPAddress it crashes. Regression introduced by
b3d069872c.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1325120
This commit is contained in:
Peter Krempa 2016-04-08 13:51:57 +02:00
parent f06ca25d23
commit a3510e33d3

View File

@ -1129,7 +1129,7 @@ int virNetDevSetIPAddress(const char *ifname,
unsigned int recvbuflen;
/* The caller needs to provide a correct address */
if (VIR_SOCKET_ADDR_FAMILY(addr) == AF_INET && !VIR_SOCKET_ADDR_VALID(peer)) {
if (VIR_SOCKET_ADDR_FAMILY(addr) == AF_INET && peer && !VIR_SOCKET_ADDR_VALID(peer)) {
/* compute a broadcast address if this is IPv4 */
if (VIR_ALLOC(broadcast) < 0)
return -1;
@ -1445,7 +1445,7 @@ int virNetDevSetIPAddress(const char *ifname,
if (!(addrstr = virSocketAddrFormat(addr)))
goto cleanup;
if (VIR_SOCKET_ADDR_VALID(peer) && !(peerstr = virSocketAddrFormat(peer)))
if (peer && VIR_SOCKET_ADDR_VALID(peer) && !(peerstr = virSocketAddrFormat(peer)))
goto cleanup;
/* format up a broadcast address if this is IPv4 */