mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
virsocketaddr: Zero @netmask in virSocketAddrPrefixToNetmask()
The aim of virSocketAddrPrefixToNetmask() is to initialize passed virSocketAddr structure based on prefix length and family. However, it doesn't set all members in the struct which may lead to reads of uninitialized values: ==15421== Use of uninitialised value of size 8 ==15421== at 0x50F297A: _itoa_word (in /lib64/libc-2.31.so) ==15421== by 0x510C8FE: __vfprintf_internal (in /lib64/libc-2.31.so) ==15421== by 0x5120295: __vsnprintf_internal (in /lib64/libc-2.31.so) ==15421== by 0x50F8969: snprintf (in /lib64/libc-2.31.so) ==15421== by 0x51BB602: getnameinfo (in /lib64/libc-2.31.so) ==15421== by 0x496DEE0: virSocketAddrFormatFull (virsocketaddr.c:486) ==15421== by 0x496DD9F: virSocketAddrFormat (virsocketaddr.c:444) ==15421== by 0x11871F: networkDnsmasqConfContents (bridge_driver.c:1404) ==15421== by 0x1118F5: testCompareXMLToConfFiles (networkxml2conftest.c:48) ==15421== by 0x111BAF: testCompareXMLToConfHelper (networkxml2conftest.c:112) ==15421== by 0x112679: virTestRun (testutils.c:142) ==15421== by 0x111D09: mymain (networkxml2conftest.c:144) ==15421== Uninitialised value was created by a stack allocation ==15421== at 0x1175D2: networkDnsmasqConfContents (bridge_driver.c:1056) All callers expect the function to initialize the structure fully. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Laine Stump <laine@redhat.com>
This commit is contained in:
parent
7382a7c2be
commit
1450672071
@ -1097,6 +1097,8 @@ virSocketAddrPrefixToNetmask(unsigned int prefix,
|
||||
virSocketAddrPtr netmask,
|
||||
int family)
|
||||
{
|
||||
memset(netmask, 0, sizeof(*netmask));
|
||||
|
||||
netmask->data.stor.ss_family = AF_UNSPEC; /* assume failure */
|
||||
|
||||
if (family == AF_INET) {
|
||||
@ -1135,7 +1137,7 @@ virSocketAddrPrefixToNetmask(unsigned int prefix,
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* virSocketAddrGetIPPrefix:
|
||||
|
Loading…
x
Reference in New Issue
Block a user