diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2013-11-04 14:55:34 +0000 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2013-11-04 14:55:34 +0000 |
| commit | 2307326ceeaeb2bdf9e7762b40ba11ca2d8d6a15 (patch) | |
| tree | 5bae1e9b2917944353acd3d47ed3c3ada052965d | |
| parent | 221e4179322f55d953dfb4a7986dbf17f458299c (diff) | |
| download | rabbitmq-server-git-2307326ceeaeb2bdf9e7762b40ba11ca2d8d6a15.tar.gz | |
Validate utf-8-ness on the way into rabbitmqctl too.
| -rw-r--r-- | src/rabbit_control_main.erl | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/rabbit_control_main.erl b/src/rabbit_control_main.erl index 6f36f99df5..f34632867a 100644 --- a/src/rabbit_control_main.erl +++ b/src/rabbit_control_main.erl @@ -706,7 +706,14 @@ unsafe_rpc(Node, Mod, Fun, Args) -> end. call(Node, {Mod, Fun, Args}) -> - rpc_call(Node, Mod, Fun, lists:map(fun list_to_binary/1, Args)). + rpc_call(Node, Mod, Fun, lists:map(fun list_to_binary_utf8/1, Args)). + +list_to_binary_utf8(L) -> + B = list_to_binary(L), + case rabbit_binary_parser:validate_utf8(B) of + ok -> B; + error -> throw({error, {not_utf_8, L}}) + end. rpc_call(Node, Mod, Fun, Args) -> rpc:call(Node, Mod, Fun, Args, ?RPC_TIMEOUT). |
