From a7d9fc4a4d2960f88e0247c0673ecafaf41593d5 Mon Sep 17 00:00:00 2001 From: Darek Stojaczyk Date: Tue, 18 Jun 2019 07:09:35 +0200 Subject: [PATCH] event: fix segv on json config read failure If reading the JSON config file has failed, we entered spdk_app_json_config_load_done(-ERRNO) and tried to close a client connection that was never initiated, which resulted in NULL dereference. To fix it, just check if client_conn != NULL before attempting to close it. Change-Id: I7340567c45e795f77110c2914e94ba83fa8d1bff Signed-off-by: Darek Stojaczyk Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/458350 Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Tomasz Zawadzki Reviewed-by: Ben Walker --- lib/event/json_config.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/event/json_config.c b/lib/event/json_config.c index fba6b7820..ca07e1195 100644 --- a/lib/event/json_config.c +++ b/lib/event/json_config.c @@ -128,7 +128,10 @@ static void spdk_app_json_config_load_done(struct load_json_config_ctx *ctx, int rc) { spdk_poller_unregister(&ctx->client_conn_poller); - spdk_jsonrpc_client_close(ctx->client_conn); + if (ctx->client_conn != NULL) { + spdk_jsonrpc_client_close(ctx->client_conn); + } + spdk_rpc_finish(); if (rc) {