[libvirt] [PATCH 5/5] esxVMX_GatherSCSIControllers: avoid NULL dereference

Jim Meyering jim at meyering.net
Wed Apr 14 10:03:37 UTC 2010


Matthias Bolte wrote:
> 2010/4/14 Jim Meyering <jim at meyering.net>:
>> From: Jim Meyering <meyering at redhat.com>
>>
>> * src/esx/esx_vmx.c (esxVMX_GatherSCSIControllers): Do not dereference
>> a NULL disk->driverName.  We already detect this condition in another
>> case.  Check for it here, too.
>> ---
>>  src/esx/esx_vmx.c |    5 +++--
>>  1 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/esx/esx_vmx.c b/src/esx/esx_vmx.c
>> index 647e720..aed5cc1 100644
>> --- a/src/esx/esx_vmx.c
>> +++ b/src/esx/esx_vmx.c
>> @@ -570,11 +570,12 @@ esxVMX_GatherSCSIControllers(virDomainDefPtr def, char *virtualDev[4],
>>
>>         if (virtualDev[controller] == NULL) {
>>             virtualDev[controller] = disk->driverName;
>> -        } else if (STRCASENEQ(virtualDev[controller], disk->driverName)) {
>> +        } else if (disk->driverName == NULL
>> +                   || STRCASENEQ(virtualDev[controller], disk->driverName)) {
>
> Style nitpick: I'd like to have the || at the end of the previous
> line, like in the rest of this file.

Ok.  Adjusted.
However, note that there is a good (human-factors-related)
reason to put operators at the beginning of a line rather
than at the end like that: it makes them more apparent.
Sure, some of the time you sacrifice a little on the alignment front,
but that is outweighed by the improved readability.

It's similar to the 80-column max rule: things at the end of a line
(especially when wrapped) are far easier to miss.

>>             ESX_ERROR(VIR_ERR_INTERNAL_ERROR,
>>                       _("Inconsistent driver usage ('%s' is not '%s') on SCSI "
>>                         "controller index %d"), virtualDev[controller],
>> -                      disk->driverName, controller);
>> +                      disk->driverName ? disk->driverName : "?", controller);
>>             return -1;
>>         }
>>     }
>> --
>> 1.7.1.rc1.248.gcefbb
>
> ACK.

Thanks. Pushed.




More information about the libvir-list mailing list