From f6109e23f6699d63128a9edf23d1633caa58e277 Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Mon, 19 Nov 2018 05:42:26 -0500 Subject: [PATCH] rpc: return RPC internal error when unable to get log level string Change-Id: I403172e07946911c29e511c5954d862d6971bf0b Signed-off-by: Tomasz Zawadzki Reviewed-on: https://review.gerrithub.io/433834 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Paul Luse Reviewed-by: Pawel Wodkowski Reviewed-by: Shuhei Matsumoto --- lib/log/rpc/log_rpc.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/log/rpc/log_rpc.c b/lib/log/rpc/log_rpc.c index fea7607ae..4531601fb 100644 --- a/lib/log/rpc/log_rpc.c +++ b/lib/log/rpc/log_rpc.c @@ -151,16 +151,21 @@ spdk_rpc_get_log_print_level(struct spdk_jsonrpc_request *request, return; } + level = spdk_log_get_print_level(); + name = _get_log_level_name(level); + if (name == NULL) { + spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR, + "Internal error"); + return; + } + w = spdk_jsonrpc_begin_result(request); if (w == NULL) { return; } - level = spdk_log_get_print_level(); - name = _get_log_level_name(level); spdk_json_write_string(w, name); - spdk_jsonrpc_end_result(request, w); } SPDK_RPC_REGISTER("get_log_print_level", spdk_rpc_get_log_print_level, @@ -219,13 +224,19 @@ spdk_rpc_get_log_level(struct spdk_jsonrpc_request *request, return; } + level = spdk_log_get_level(); + name = _get_log_level_name(level); + if (name == NULL) { + spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR, + "Internal error"); + return; + } + w = spdk_jsonrpc_begin_result(request); if (w == NULL) { return; } - level = spdk_log_get_level(); - name = _get_log_level_name(level); spdk_json_write_string(w, name); spdk_jsonrpc_end_result(request, w);