Perl's automatic conversion can lead to integers being converted to strings, for example by matching it in a regex.
To make sure we always return an integer in the API call, add an explicit cast to integer. Signed-off-by: Mira Limbeck <m.limb...@proxmox.com> Reviewed-by: Fabian Ebner <f.eb...@proxmox.com> --- v3: - fixed style nits - added R-b tag v2: - new PVE/API2/Storage/Content.pm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/PVE/API2/Storage/Content.pm b/PVE/API2/Storage/Content.pm index 45b8de8..8ff858d 100644 --- a/PVE/API2/Storage/Content.pm +++ b/PVE/API2/Storage/Content.pm @@ -139,7 +139,9 @@ __PACKAGE__->register_method ({ foreach my $item (@$vollist) { eval { PVE::Storage::check_volume_access($rpcenv, $authuser, $cfg, undef, $item->{volid}); }; next if $@; - $item->{vmid} = int($item->{vmid}) if (defined($item->{vmid})); + $item->{vmid} = int($item->{vmid}) if defined($item->{vmid}); + $item->{size} = int($item->{size}) if defined($item->{size}); + $item->{used} = int($item->{used}) if defined($item->{used}); push @$res, $item; } @@ -326,8 +328,8 @@ __PACKAGE__->register_method ({ my $entry = { path => $path, - size => $size, - used => $used, + size => int($size), # cast to integer in case it was changed to a string previously + used => int($used), format => $format, }; -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel