[pve-devel] applied: [PATCH qemu-server] fix #2473: use of unitialized value

Mira Limbeck m.limbeck at proxmox.com
Thu Nov 21 13:07:37 CET 2019


On 11/21/19 12:58 PM, Thomas Lamprecht wrote:
> On 11/21/19 11:04 AM, Mira Limbeck wrote:
>> With the noerr flag set in parse_volume_id we have to check if
>> $volname is defined before comparing it to 'cloudinit'.
>>
>> Signed-off-by: Mira Limbeck <m.limbeck at proxmox.com>
>> ---
>>   PVE/API2/Qemu.pm | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
>> index 4dd329a..ed4e522 100644
>> --- a/PVE/API2/Qemu.pm
>> +++ b/PVE/API2/Qemu.pm
>> @@ -70,7 +70,7 @@ my $check_storage_access = sub {
>>   	my $volid = $drive->{file};
>>   	my ($storeid, $volname) = PVE::Storage::parse_volume_id($volid, 1);
>>   
>> -	if (!$volid || ($volid eq 'none' || $volid eq 'cloudinit' || $volname eq 'cloudinit')) {
>> +	if (!$volid || ($volid eq 'none' || $volid eq 'cloudinit' || (defined($volname) && $volname eq 'cloudinit'))) {
>>   	    # nothing to check
>>   	} elsif ($isCDROM && ($volid eq 'cdrom')) {
>>   	    $rpcenv->check($authuser, "/", ['Sys.Console']);
>> @@ -148,7 +148,7 @@ my $create_disks = sub {
>>   	if (!$volid || $volid eq 'none' || $volid eq 'cdrom') {
>>   	    delete $disk->{size};
>>   	    $res->{$ds} = PVE::QemuServer::print_drive($vmid, $disk);
>> -	} elsif ($volname eq 'cloudinit') {
>> +	} elsif (defined($volname) && $volname eq 'cloudinit') {
>>   	    $storeid = $storeid // $default_storage;
>>   	    die "no storage ID specified (and no default storage)\n" if !$storeid;
>>   	    my $scfg = PVE::Storage::storage_config($storecfg, $storeid);
>>
> applied, thanks!
>
> As we had quite some issues, fixes, then regression with those fixes
> for the cloudinit stuff, could you please add some tests?
>
> My first idea was to add them to cfg2cmd, mocking the commit_cloudinit_disk
> method which save it locally to the test dir as .cloudinit which can then
> be compared to an expected file one.. So that we have at least some basic
> coverage there..
Ok, will do that.




More information about the pve-devel mailing list