Re: [PATCH] remote: Initialize args variable

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

 



On 1/26/23 15:48, Daniel P. Berrangé wrote:
> On Thu, Jan 26, 2023 at 01:41:24PM +0100, Michal Privoznik wrote:
>> Recently, in v9.0.0-7-gb2034bb04c we've dropped initialization of
>> @args variable. The reasoning was that eventually, all members of
>> the variable will be set. Well, this is not correct. For
>> instance, in remoteConnectGetAllDomainStats() the
>> args.doms.doms_val pointer is set iff @ndoms != 0. However,
>> regardless of that, the pointer is then passed to VIR_FREE().
>>
>> Worse, the whole args is passed to
>> xdr_remote_connect_get_all_domain_stats_args() which then calls
>> xdr_array, which tests the (uninitialized) pointer against NULL.
> 
> Urgh, thanks for discovery this mistake.
> 
> I wonder if we should just go full paranoia and unconditionally
> initialize *every* '_args' variable, even in cases where we
> know it is redundant.

That's what I did in this patch. What we might do next is to have a
syntax-check rule that would check whether _args and _ret are
initialized to {0}.

The difference in my testing is just a couple of instructions more (if
we're concerned with performance penalty).

Michal




[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]

  Powered by Linux