mirror of https://gitee.com/openkylin/libvirt.git
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:
parent
f06ca25d23
commit
a3510e33d3
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue