From: Max Kanat-Alexander Date: Wed, 14 Jul 2010 03:52:31 +0000 (-0700) Subject: The changes to accept positional parameters in XML-RPC meant that sometimes X-Git-Tag: bugzilla-3.6.2~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d21c751942e0855b90e4b419fa624b802082616d;p=thirdparty%2Fbugzilla.git The changes to accept positional parameters in XML-RPC meant that sometimes $params wouldn't just be undef, but actually missing, so validate() was getting @keys where $params should have been. https://bugzilla.mozilla.org/show_bug.cgi?id=577765 --- diff --git a/Bugzilla/WebService/Util.pm b/Bugzilla/WebService/Util.pm index 41e4c1d263..dbf5ec593a 100644 --- a/Bugzilla/WebService/Util.pm +++ b/Bugzilla/WebService/Util.pm @@ -79,6 +79,11 @@ sub _delete_bad_keys { sub validate { my ($self, $params, @keys) = @_; + + # If $params is defined but not a reference, then we weren't + # sent any parameters at all, and we're getting @keys where + # $params should be. + return ($self, undef) if (defined $params and !ref $params); # If @keys is not empty then we convert any named # parameters that have scalar values to arrayrefs