[pve-devel] [PATCH v2 storage 1/2] fix #3894: cast 'size' and 'used' to integer
Fabian Ebner
f.ebner at proxmox.com
Fri Feb 18 08:36:12 CET 2022
Am 17.02.22 um 15:54 schrieb Mira Limbeck:
> 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 calls, add
> explicit casts to integer.
>
> Signed-off-by: Mira Limbeck <m.limbeck at proxmox.com>
> ---
> v2: new
>
> PVE/API2/Storage/Content.pm | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/PVE/API2/Storage/Content.pm b/PVE/API2/Storage/Content.pm
> index 45b8de8..42bff81 100644
> --- a/PVE/API2/Storage/Content.pm
> +++ b/PVE/API2/Storage/Content.pm
> @@ -140,6 +140,8 @@ __PACKAGE__->register_method ({
> eval { PVE::Storage::check_volume_access($rpcenv, $authuser, $cfg, undef, $item->{volid}); };
> next if $@;
> $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}));
Style nit: superfluous parentheses (of course the pre-existing one is to
blame ;))
> 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),
Style nit: please fix the pre-existing white-space error while modifying
the line
> format => $format,
> };
>
Just minor nits, so both patches:
Reviewed-by: Fabian Ebner <f.ebner at proxmox.com>
More information about the pve-devel
mailing list