From 746d5c3919e0986253e94d86cafe013927ca37a1 Mon Sep 17 00:00:00 2001 From: Dragos Oancea Date: Fri, 28 Feb 2020 13:45:28 +0000 Subject: [PATCH] [mod_amqp] scan-build: Multiple dereferences of null pointer (loaded from variable 'active') --- .../mod_amqp/mod_amqp_connection.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/mod/event_handlers/mod_amqp/mod_amqp_connection.c b/src/mod/event_handlers/mod_amqp/mod_amqp_connection.c index 2210ed032a..1da96328f9 100644 --- a/src/mod/event_handlers/mod_amqp/mod_amqp_connection.c +++ b/src/mod/event_handlers/mod_amqp/mod_amqp_connection.c @@ -150,20 +150,26 @@ switch_status_t mod_amqp_connection_open(mod_amqp_connection_t *connections, mod connection_attempt->password); if (mod_amqp_log_if_amqp_error(status, "Logging in")) { - mod_amqp_connection_close(*active); - *active = NULL; + if (active) { + mod_amqp_connection_close(*active); + *active = NULL; + } goto err; } // Open a channel (1). This is fairly standard amqp_channel_open(newConnection, 1); if (mod_amqp_log_if_amqp_error(amqp_get_rpc_reply(newConnection), "Opening channel")) { - mod_amqp_connection_close(*active); - *active = NULL; + if (active) { + mod_amqp_connection_close(*active); + *active = NULL; + } goto err; } - (*active)->state = newConnection; + if (active) { + (*active)->state = newConnection; + } if (oldConnection) { amqp_destroy_connection(oldConnection);