Re: [PATCH] linuxNodeInfoCPUPopulate: avoid used-uninitialized via a test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/18/2010 04:14 AM, Jim Meyering wrote:
>> * tests/nodeinfotest.c (linuxTestCompareFiles): Don't use
>> nodeinfo->member uninitialized.  linuxNodeInfoCPUPopulate requires
>> that some of its nodeinfo members (including threads) be initialized
>> upon input.  The nodeinfotest.c program lacked the initialization,
>> while the only other use (nodeGetInfo) did perform it.
>> It's not trivial to move the initialization into the function,
>> since nodeGetInfo sets at least one member after clearing the
>> buffer but before calling linuxNodeInfoCPUPopulate.

Thanks for documenting the analysis.

> +++ b/tests/nodeinfotest.c
> @@ -40,6 +40,8 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *outputfile
>      cpuinfo = fopen(cpuinfofile, "r");
>      if (!cpuinfo)
>          return -1;
> +
> +    memset(&nodeinfo, 0, sizeof(nodeinfo));
>      if (linuxNodeInfoCPUPopulate(cpuinfo, &nodeinfo) < 0) {

ACK.

-- 
Eric Blake   eblake@xxxxxxxxxx    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]