From 98d19fc44130ec9cbca9407eb3c49005733a0bc1 Mon Sep 17 00:00:00 2001 From: Pavel Punsky Date: Thu, 8 Sep 2022 02:25:38 -0700 Subject: [PATCH] Fix small issues reported by cppcheck (#967) - Redundant checks for variable values - Potential nullptr dereference - Double check for the same variable Run with: ``` cppcheck --inline-suppr --language=c --enable=warning,performance --force . ``` Co-authored-by: Pavel Punsky --- src/apps/common/hiredis_libevent2.c | 4 ++++ src/apps/relay/mainrelay.c | 5 ++--- src/apps/relay/tls_listener.c | 16 ++++++++++------ src/client/ns_turn_msg.c | 2 +- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/apps/common/hiredis_libevent2.c b/src/apps/common/hiredis_libevent2.c index 2935a57..5299abc 100644 --- a/src/apps/common/hiredis_libevent2.c +++ b/src/apps/common/hiredis_libevent2.c @@ -241,6 +241,10 @@ redis_context_handle redisLibeventAttach(struct event_base *base, char *ip0, int ac = redisAsyncConnect(ip, port); if (!ac) { + fprintf(stderr,"Error: redisAsyncConnect returned NULL\n"); + return NULL; + } + else if (ac->err) { fprintf(stderr,"Error: %s:%s\n", ac->errstr, ac->c.errstr); return NULL; } diff --git a/src/apps/relay/mainrelay.c b/src/apps/relay/mainrelay.c index e904542..18b5b1e 100644 --- a/src/apps/relay/mainrelay.c +++ b/src/apps/relay/mainrelay.c @@ -2457,7 +2457,7 @@ int main(int argc, char **argv) } } - if(use_cli && cli_password[0]==0 && use_cli) { + if(use_cli && cli_password[0]==0) { TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "\nCONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!\n"); use_cli = 0; } @@ -2759,8 +2759,7 @@ static void adjust_key_file_name(char *fn, const char* file_title, int critical) strncpy(fn,full_path_to_file,sizeof(turn_params.cert_file)-1); fn[sizeof(turn_params.cert_file)-1]=0; - if(full_path_to_file) - free(full_path_to_file); + free(full_path_to_file); return; } diff --git a/src/apps/relay/tls_listener.c b/src/apps/relay/tls_listener.c index 689c2f6..8717ef0 100644 --- a/src/apps/relay/tls_listener.c +++ b/src/apps/relay/tls_listener.c @@ -66,6 +66,11 @@ static void server_input_handler(struct evconnlistener *l, evutil_socket_t fd, tls_listener_relay_server_type * server = (tls_listener_relay_server_type*) arg; + if (!server) + { + return; + } + if(!(server->connect_cb)) { socket_closesocket(fd); return; @@ -73,9 +78,6 @@ static void server_input_handler(struct evconnlistener *l, evutil_socket_t fd, FUNCSTART; - if (!server) - return; - bcopy(sa,&(server->sm.m.sm.nd.src_addr),socklen); addr_debug_print(server->verbose, &(server->sm.m.sm.nd.src_addr),"tcp or tls connected to"); @@ -133,6 +135,11 @@ static void sctp_server_input_handler(struct evconnlistener *l, evutil_socket_t tls_listener_relay_server_type * server = (tls_listener_relay_server_type*) arg; + if (!server) + { + return; + } + if(!(server->connect_cb)) { socket_closesocket(fd); return; @@ -140,9 +147,6 @@ static void sctp_server_input_handler(struct evconnlistener *l, evutil_socket_t FUNCSTART; - if (!server) - return; - bcopy(sa,&(server->sm.m.sm.nd.src_addr),socklen); addr_debug_print(server->verbose, &(server->sm.m.sm.nd.src_addr),"sctp or tls/sctp connected to"); diff --git a/src/client/ns_turn_msg.c b/src/client/ns_turn_msg.c index 8109915..ad1e7f3 100644 --- a/src/client/ns_turn_msg.c +++ b/src/client/ns_turn_msg.c @@ -837,7 +837,7 @@ int stun_is_channel_message_str(const uint8_t *buf, size_t *blen, uint16_t* chnu if(mandatory_padding) { return 0; - } else if ((datalen_actual < datalen_header) || (datalen_header == 0)) { + } else if (datalen_header == 0) { return 0; } else { uint16_t diff = datalen_actual - datalen_header;