[libvirt] [PATCH] util: check ifa_addr pointer before accessing its elements

Michal Privoznik mprivozn at redhat.com
Fri Apr 21 11:00:15 UTC 2017


On 04/21/2017 11:17 AM, Pavel Hrdina wrote:
> Reported by Rafał Wojciechowski <it at rafalwojciechowski.pl>.
>
> Thread 1 (Thread 0x7f194b99d700 (LWP 5631)):
> 0  virNetDevGetifaddrsAddress (addr=0x7f194b99c7c0, ifname=0x7f193400e2b0 "ovirtmgmt") at util/virnetdevip.c:738
> 1  virNetDevIPAddrGet (ifname=0x7f193400e2b0 "ovirtmgmt", addr=addr at entry=0x7f194b99c7c0) at util/virnetdevip.c:795
> 2  0x00007f19467800d6 in networkGetNetworkAddress (netname=<optimized out>, netaddr=netaddr at entry=0x7f1924013f18) at network/bridge_driver.c:4780
> 3  0x00007f193e43a33c in qemuProcessGraphicsSetupNetworkAddress (listenAddr=0x7f19340f7650 "127.0.0.1", glisten=0x7f1924013f10) at qemu/qemu_process.c:4062
> 4  qemuProcessGraphicsSetupListen (vm=<optimized out>, graphics=0x7f1924014f10, cfg=0x7f1934119f00) at qemu/qemu_process.c:4133
> 5  qemuProcessSetupGraphics (flags=17, vm=0x7f19240155d0, driver=0x7f193411f1d0) at qemu/qemu_process.c:4196
> 6  qemuProcessPrepareDomain (conn=conn at entry=0x7f192c00ab50, driver=driver at entry=0x7f193411f1d0, vm=vm at entry=0x7f19240155d0, flags=flags at entry=17) at qemu/qemu_process.c:4969
> 7  0x00007f193e4417c0 in qemuProcessStart (conn=conn at entry=0x7f192c00ab50, driver=driver at entry=0x7f193411f1d0, vm=0x7f19240155d0,asyncJob=asyncJob at entry=QEMU_ASYNC_JOB_START, migrateFrom=migrateFrom at entry=0x0, migrateFd=migrateFd at entry=-1, migratePath=migratePath at entry=0x0,snapshot=snapshot at entry=0x0, vmop=vmop at entry=VIR_NETDEV_VPORT_PROFILE_OP_CREATE, flags=17, flags at entry=1) at qemu/qemu_process.c:5553
>
> Man page for getifaddrs also states that the "ifa_addr" may contain
> a null pointer which happens if there is an existing network interface
> on the host without IP address.
>
> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> ---
>  src/util/virnetdevip.c  | 7 ++++++-
>  src/util/virnetdevtap.c | 3 +++
>  2 files changed, 9 insertions(+), 1 deletion(-)

ACK

Michal




More information about the libvir-list mailing list