From 0a144e76987ea3248d44bbbcb778917d6e37432c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20G=C3=B6m=C3=B6ri?= Date: Wed, 20 Dec 2023 00:06:26 +0100 Subject: [PATCH] Prevent formatter crash in mgmt_util `rabbit_mgmt_util:direct_request/6` is always called with an `ErrorMsg` which expects one format argument as a string. Convert the arbitrary reason term into a string to avoid a crash like the below: ``` warning: FORMATTER CRASH: {"Delete exchange error: ~ts",[{'EXIT',{{badmatch,{error,... ``` --- deps/rabbitmq_management/src/rabbit_mgmt_util.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_util.erl b/deps/rabbitmq_management/src/rabbit_mgmt_util.erl index 9cfaf88cc81a..fa69ae2dcc40 100644 --- a/deps/rabbitmq_management/src/rabbit_mgmt_util.erl +++ b/deps/rabbitmq_management/src/rabbit_mgmt_util.erl @@ -809,7 +809,8 @@ direct_request(MethodName, Transformers, Extra, ErrorMsg, ReqData, rabbit_log:warning(ErrorMsg, [Explanation]), bad_request(list_to_binary(Explanation), ReqData1, Context); {badrpc, Reason} -> - rabbit_log:warning(ErrorMsg, [Reason]), + Msg = io_lib:format("~tp", [Reason]), + rabbit_log:warning(ErrorMsg, [Msg]), bad_request( list_to_binary( io_lib:format("Request to node ~ts failed with ~tp",