From 3e863863dd94e9cd03592d4a792db51327635c73 Mon Sep 17 00:00:00 2001 From: Markus Makela Date: Wed, 26 Aug 2015 09:35:10 +0300 Subject: [PATCH] Fixes to Coverity defects. --- server/core/externcmd.c | 2 +- server/core/service.c | 10 +++++----- server/modules/monitor/monitor_common.c | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/server/core/externcmd.c b/server/core/externcmd.c index 93579faef..3099a767a 100644 --- a/server/core/externcmd.c +++ b/server/core/externcmd.c @@ -109,7 +109,7 @@ EXTERNCMD* externcmd_allocate(char* argstr) if(access(cmd->parameters[0],X_OK) != 0) { skygw_log_write(LE, - "Error: Cannot execute file: %s", + "Error: Cannot execute file '%s'. Missing execution permissions.", cmd->parameters[0]); externcmd_free(cmd); return NULL; diff --git a/server/core/service.c b/server/core/service.c index 224a602b3..012fe5d13 100644 --- a/server/core/service.c +++ b/server/core/service.c @@ -242,11 +242,11 @@ GWPROTOCOL *funcs; { /* Try loading authentication data from file cache */ - char *ptr, path[4097]; - strcpy(path, get_cachedir()); - strncat(path, "/", 4096); - strncat(path, service->name, 4096); - strncat(path, "/.cache/dbusers", 4096); + char *ptr, path[PATH_MAX+1]; + strncpy(path, get_cachedir(),sizeof(path)-1); + strncat(path, "/", sizeof(path)-1); + strncat(path, service->name, sizeof(path)-1); + strncat(path, "/.cache/dbusers", sizeof(path)-1); loaded = dbusers_load(service->users, path); if (loaded != -1) { diff --git a/server/modules/monitor/monitor_common.c b/server/modules/monitor/monitor_common.c index 19980c5dd..cbf1def75 100644 --- a/server/modules/monitor/monitor_common.c +++ b/server/modules/monitor/monitor_common.c @@ -239,7 +239,7 @@ void mon_append_node_names(MONITOR_SERVERS* start,char* str, int len) } first = false; sprintf(arr,"%s:%d",ptr->server->name,ptr->server->port); - strcat(str,arr); + strncat(str,arr,len); ptr = ptr->next; slen = strlen(str); } @@ -306,10 +306,10 @@ void monitor_launch_script(MONITOR* mon,MONITOR_SERVERS* ptr, char* script) ptr->server->name, ptr->server->port); - mon_append_node_names(mon->databases,argstr,PATH_MAX + MON_ARG_MAX + 1); + mon_append_node_names(mon->databases,argstr,PATH_MAX + MON_ARG_MAX); if((cmd = externcmd_allocate(argstr)) == NULL) { - skygw_log_write(LE,"Failed to execute script: %s",script); + skygw_log_write(LE,"Failed to initialize script: %s",script); return; }