remove + from getopt's prefix_pattern
[pve-common.git] / src / PVE / RESTHandler.pm
index ad0f929..87a2c18 100644 (file)
@@ -386,16 +386,18 @@ sub handle {
        # warn "validate ". Dumper($param}) . "\n" . Dumper($schema);
        PVE::JSONSchema::validate($param, $schema);
        # untaint data (already validated)
+       my $extra = delete $param->{'extra-args'};
        while (my ($key, $val) = each %$param) {
            ($param->{$key}) = $val =~ /^(.*)$/s;
        }
+       $param->{'extra-args'} = [map { /^(.*)$/ } @$extra] if $extra;
     }
 
     my $result = &$func($param); 
 
     # todo: this is only to be safe - disable?
     if (my $schema = $info->{returns}) {
-       PVE::JSONSchema::validate($result, $schema, "Result verification vailed\n");
+       PVE::JSONSchema::validate($result, $schema, "Result verification failed\n");
     }
 
     return $result;