aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Chmielowski <pchmielowski@process-one.net>2016-06-16 10:24:50 +0200
committerChristophe Romain <christophe.romain@process-one.net>2016-06-23 10:41:16 +0200
commit1b5c50a3844a5b77b834a8bffcfcbe4e6cc13d30 (patch)
tree724602d5d785f54e9e3264bdeffaf81a61586205
parentxref was broken when Elixir wasn't enabled (diff)
When convertion of xmlrpc argument to type fails, report it as error
-rw-r--r--src/ejabberd_xmlrpc.erl6
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]);