file_size_info: cast 'size' and 'used' to integer

`qemu-img info --output=json` returns the size and used values as integers in
the JSON format, but the regex match converts them to strings.
As we know they only contain digits, we can simply cast them back to integers
after the regex.

The API requires them to be integers.

Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
Mira Limbeck
2022-02-18 09:58:27 +01:00
committed by Thomas Lamprecht
parent 7f30857519
commit eba7935f83

View File

@ -892,7 +892,11 @@ sub file_size_info {
my ($size, $format, $used, $parent) = $info->@{qw(virtual-size format actual-size backing-filename)};
($size) = ($size =~ /^(\d+)$/) or die "size '$size' not an integer\n"; # untaint
# coerce back from string
$size = int($size);
($used) = ($used =~ /^(\d+)$/) or die "used '$used' not an integer\n"; # untaint
# coerce back from string
$used = int($used);
($format) = ($format =~ /^(\S+)$/) or die "format '$format' includes whitespace\n"; # untaint
if (defined($parent)) {
($parent) = ($parent =~ /^(\S+)$/) or die "parent '$parent' includes whitespace\n"; # untaint