diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2016-06-16 10:24:50 +0200 |
---|---|---|
committer | Christophe Romain <christophe.romain@process-one.net> | 2016-06-23 10:41:16 +0200 |
commit | 1b5c50a3844a5b77b834a8bffcfcbe4e6cc13d30 (patch) | |
tree | 724602d5d785f54e9e3264bdeffaf81a61586205 /src | |
parent | xref was broken when Elixir wasn't enabled (diff) |
When convertion of xmlrpc argument to type fails, report it as error
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_xmlrpc.erl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ejabberd_xmlrpc.erl b/src/ejabberd_xmlrpc.erl index aa37b643a..6680451e4 100644 --- a/src/ejabberd_xmlrpc.erl +++ b/src/ejabberd_xmlrpc.erl @@ -373,6 +373,10 @@ try_do_command(AccessCommands, Auth, Command, AttrL, "The call provided additional unused " "arguments:~n~p", [ExitAtL]); + exit:{invalid_arg_type, Arg, Type} -> + build_fault_response(-122, + "Parameter '~p' can't be coerced to type '~p'", + [Arg, Type]); Why -> build_fault_response(-118, "A problem '~p' occurred executing the " @@ -472,7 +476,7 @@ format_arg(undefined, binary) -> <<>>; format_arg(undefined, string) -> ""; format_arg(Arg, Format) -> ?ERROR_MSG("don't know how to format Arg ~p for format ~p", [Arg, Format]), - throw({error_formatting_argument, Arg, Format}). + exit({invalid_arg_type, Arg, Format}). process_unicode_codepoints(Str) -> iolist_to_binary(lists:map(fun(X) when X > 255 -> unicode:characters_to_binary([X]); |