[libvirt] [PATCH 1/2] xenconfig: Properly check retval of virDomainGraphicsListenSetAddress

John Ferlan jferlan at redhat.com
Wed Feb 10 11:50:59 UTC 2016



On 02/10/2016 06:37 AM, Erik Skultety wrote:
> On 10/02/16 12:02, John Ferlan wrote:
>>
>>
>> On 02/10/2016 05:37 AM, Michal Privoznik wrote:
>>> The function, like others in our code, returns zero on success
>>> and a negative value on error. However, there are two places in
>>> xenconfig source code where we check for non-zero value. While
>>> the function can't currently return a positive value, those
>>> checks look okay, but does not really follow our style.
>>>
>>> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>>> ---
>>>  src/xenconfig/xen_sxpr.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>
>> I have patches on list which are similar, but I've been requested to
>> change.  In particular, this change leads to a memory leak. as the vnc
>> needs to be deleted.
>>
>> John
> 
> Hmm, I can't see any memory leak caused by this particular patch, could
> you please point it out for me? The only thing that could possibly leak
> by an error within virDomainGraphicsListenAddress, is graphics and that
> pointer is properly freed at the end.
> 
> Erik
> 

Michal asked me via IRC - the code looked eerily similar to the
qemu_command code I had posted patches on which also has the same non
status check.  Should have more coffee in my system before diving in ;-)

John
>>> diff --git a/src/xenconfig/xen_sxpr.c b/src/xenconfig/xen_sxpr.c
>>> index 252a48b..fdfec2b 100644
>>> --- a/src/xenconfig/xen_sxpr.c
>>> +++ b/src/xenconfig/xen_sxpr.c
>>> @@ -868,7 +868,7 @@ xenParseSxprGraphicsOld(virDomainDefPtr def,
>>>          graphics->data.vnc.port = port;
>>>  
>>>          if (listenAddr &&
>>> -            virDomainGraphicsListenSetAddress(graphics, 0, listenAddr, -1, true))
>>> +            virDomainGraphicsListenSetAddress(graphics, 0, listenAddr, -1, true) < 0)
>>>              goto error;
>>>  
>>>          if (VIR_STRDUP(graphics->data.vnc.auth.passwd, vncPasswd) < 0)
>>> @@ -987,7 +987,7 @@ xenParseSxprGraphicsNew(virDomainDefPtr def,
>>>                  graphics->data.vnc.port = port;
>>>  
>>>                  if (listenAddr &&
>>> -                    virDomainGraphicsListenSetAddress(graphics, 0, listenAddr, -1, true))
>>> +                    virDomainGraphicsListenSetAddress(graphics, 0, listenAddr, -1, true) < 0)
>>>                      goto error;
>>>  
>>>                  if (VIR_STRDUP(graphics->data.vnc.auth.passwd, vncPasswd) < 0)
>>>
>>
>> --
>> libvir-list mailing list
>> libvir-list at redhat.com
>> https://www.redhat.com/mailman/listinfo/libvir-list
>>




More information about the libvir-list mailing list