diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/daemon/dlt-daemon.c | 19 | ||||
-rw-r--r-- | src/daemon/dlt-daemon.h | 4 | ||||
-rw-r--r-- | src/lib/dlt_user.c | 22 | ||||
-rw-r--r-- | src/shared/dlt_common.c | 8 |
4 files changed, 29 insertions, 24 deletions
diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c index 9144b2a..50e178c 100644 --- a/src/daemon/dlt-daemon.c +++ b/src/daemon/dlt-daemon.c @@ -130,7 +130,8 @@ int option_handling(DltDaemonLocal *daemon_local, int argc, char *argv[]) /* default values */ daemon_local->flags.port = DLT_DAEMON_TCP_PORT; - strncpy(dltFifoBaseDir, DLT_USER_IPC_PATH, sizeof(DLT_USER_IPC_PATH)); + strncpy(dltFifoBaseDir, DLT_USER_IPC_PATH, DLT_PATH_MAX); + dltFifoBaseDir[DLT_PATH_MAX - 1] = 0; opterr = 0; @@ -148,7 +149,8 @@ int option_handling(DltDaemonLocal *daemon_local, int argc, char *argv[]) } case 't': { - strncpy(dltFifoBaseDir, optarg, NAME_MAX); + strncpy(dltFifoBaseDir, optarg, DLT_PATH_MAX); + dltFifoBaseDir[DLT_PATH_MAX - 1] = 0; break; } case 'p': @@ -189,9 +191,11 @@ int option_handling(DltDaemonLocal *daemon_local, int argc, char *argv[]) #ifndef DLT_USE_UNIX_SOCKET_IPC - snprintf(daemon_local->flags.userPipesDir, NAME_MAX + 1, "%s/dltpipes", dltFifoBaseDir); + snprintf(daemon_local->flags.userPipesDir, DLT_PATH_MAX, + "%s/dltpipes", dltFifoBaseDir); #endif - snprintf(daemon_local->flags.daemonFifoName, NAME_MAX + 1, "%s/dlt", dltFifoBaseDir); + snprintf(daemon_local->flags.daemonFifoName, DLT_PATH_MAX, + "%s/dlt", dltFifoBaseDir); return 0; @@ -220,10 +224,9 @@ int option_file_parser(DltDaemonLocal *daemon_local) daemon_local->flags.loggingMode = DLT_LOG_TO_CONSOLE; daemon_local->flags.loggingLevel = LOG_INFO; snprintf(daemon_local->flags.loggingFilename, - sizeof(daemon_local->flags.loggingFilename) - 1, + sizeof(daemon_local->flags.loggingFilename), "%s/dlt.log", dltFifoBaseDir); - daemon_local->flags.loggingFilename[sizeof(daemon_local->flags.loggingFilename) - 1] = 0; daemon_local->timeoutOnSend = 4; daemon_local->RingbufferMinSize = DLT_DAEMON_RINGBUFFER_MIN_SIZE; daemon_local->RingbufferMaxSize = DLT_DAEMON_RINGBUFFER_MAX_SIZE; @@ -1296,9 +1299,9 @@ void dlt_daemon_local_cleanup(DltDaemon *daemon, DltDaemonLocal *daemon_local, i void dlt_daemon_exit_trigger() { - char tmp[PATH_MAX + 1] = { 0 }; + char tmp[DLT_PATH_MAX] = { 0 }; - snprintf(tmp, PATH_MAX, "%s/dlt", dltFifoBaseDir); + snprintf(tmp, DLT_PATH_MAX, "%s/dlt", dltFifoBaseDir); (void)unlink(tmp); /* stop event loop */ diff --git a/src/daemon/dlt-daemon.h b/src/daemon/dlt-daemon.h index c813b42..2f8f814 100644 --- a/src/daemon/dlt-daemon.h +++ b/src/daemon/dlt-daemon.h @@ -122,9 +122,9 @@ typedef struct #ifdef DLT_USE_UNIX_SOCKET_IPC char appSockPath[DLT_DAEMON_FLAG_MAX]; /**< Path to User socket */ #else - char userPipesDir[NAME_MAX + 1]; /**< (String: Directory) directory where dltpipes reside (Default: /tmp/dltpipes) */ + char userPipesDir[DLT_PATH_MAX]; /**< (String: Directory) directory where dltpipes reside (Default: /tmp/dltpipes) */ #endif - char daemonFifoName[NAME_MAX + 1]; /**< (String: Filename) name of local fifo (Default: /tmp/dlt) */ + char daemonFifoName[DLT_PATH_MAX]; /**< (String: Filename) name of local fifo (Default: /tmp/dlt) */ unsigned int port; /**< port number */ char ctrlSockPath[DLT_DAEMON_FLAG_MAX]; /**< Path to Control socket */ int gatewayMode; /**< (Boolean) Gateway Mode */ diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c index e0939b1..cab3223 100644 --- a/src/lib/dlt_user.c +++ b/src/lib/dlt_user.c @@ -83,8 +83,8 @@ static bool dlt_user_initialised = false; static int dlt_user_freeing = 0; #ifndef DLT_USE_UNIX_SOCKET_IPC -static char dlt_user_dir[NAME_MAX + 1]; -static char dlt_daemon_fifo[NAME_MAX + 1]; +static char dlt_user_dir[DLT_PATH_MAX]; +static char dlt_daemon_fifo[DLT_PATH_MAX]; #endif static sem_t dlt_mutex; @@ -230,7 +230,7 @@ static DltReturnValue dlt_initialize_socket_connection(void) remote.sun_family = AF_UNIX; snprintf(dltSockBaseDir, DLT_IPC_PATH_MAX, "%s/dlt", DLT_USER_IPC_PATH); - strncpy(remote.sun_path, dltSockBaseDir, sizeof(dltSockBaseDir)); + strncpy(remote.sun_path, dltSockBaseDir, sizeof(remote.sun_path)); if (strlen(DLT_USER_IPC_PATH) > DLT_IPC_PATH_MAX) dlt_vlog(LOG_INFO, @@ -267,11 +267,11 @@ static DltReturnValue dlt_initialize_socket_connection(void) #else /* setup fifo*/ static DltReturnValue dlt_initialize_fifo_connection(void) { - char filename[DLT_USER_MAX_FILENAME_LENGTH]; + char filename[DLT_PATH_MAX]; int ret; - snprintf(dlt_user_dir, NAME_MAX, "%s/dltpipes", dltFifoBaseDir); - snprintf(dlt_daemon_fifo, NAME_MAX, "%s/dlt", dltFifoBaseDir); + snprintf(dlt_user_dir, DLT_PATH_MAX, "%s/dltpipes", dltFifoBaseDir); + snprintf(dlt_daemon_fifo, DLT_PATH_MAX, "%s/dlt", dltFifoBaseDir); ret = mkdir(dlt_user_dir, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_ISVTX); if ((ret == -1) && (errno != EEXIST)) { @@ -293,7 +293,7 @@ static DltReturnValue dlt_initialize_fifo_connection(void) } /* create and open DLT user FIFO */ - snprintf(filename, DLT_USER_MAX_FILENAME_LENGTH, "%s/dlt%d", dlt_user_dir, getpid()); + snprintf(filename, DLT_PATH_MAX, "%s/dlt%d", dlt_user_dir, getpid()); /* Try to delete existing pipe, ignore result of unlink */ unlink(filename); @@ -354,7 +354,9 @@ DltReturnValue dlt_init(void) return DLT_RETURN_ERROR; } - strncpy(dltFifoBaseDir, DLT_USER_IPC_PATH, sizeof(DLT_USER_IPC_PATH)); + strncpy(dltFifoBaseDir, DLT_USER_IPC_PATH, DLT_PATH_MAX); + dltFifoBaseDir[DLT_PATH_MAX - 1] = 0; + /* check environment variables */ dlt_check_envvar(); @@ -775,7 +777,7 @@ DltReturnValue dlt_free(void) uint32_t i; int ret = 0; #ifndef DLT_USE_UNIX_SOCKET_IPC - char filename[DLT_USER_MAX_FILENAME_LENGTH]; + char filename[DLT_PATH_MAX]; #endif if (dlt_user_freeing != 0) @@ -799,7 +801,7 @@ DltReturnValue dlt_free(void) if (dlt_user.dlt_user_handle != DLT_FD_INIT) { close(dlt_user.dlt_user_handle); dlt_user.dlt_user_handle = DLT_FD_INIT; - snprintf(filename, DLT_USER_MAX_FILENAME_LENGTH, "%s/dlt%d", dlt_user_dir, getpid()); + snprintf(filename, DLT_PATH_MAX, "%s/dlt%d", dlt_user_dir, getpid()); unlink(filename); } diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c index 4d6fcee..8f5bc76 100644 --- a/src/shared/dlt_common.c +++ b/src/shared/dlt_common.c @@ -67,7 +67,7 @@ const char dltSerialHeader[DLT_ID_SIZE] = { 'D', 'L', 'S', 1 }; char dltSerialHeaderChar[DLT_ID_SIZE] = { 'D', 'L', 'S', 1 }; -char dltFifoBaseDir[PATH_MAX + 1] = "/tmp"; +char dltFifoBaseDir[DLT_PATH_MAX] = "/tmp"; /* internal logging parameters */ static int logging_mode = DLT_LOG_TO_CONSOLE; @@ -1701,8 +1701,8 @@ void dlt_log_set_filename(const char *filename) void dlt_log_set_fifo_basedir(const char *env_pipe_dir) { - strncpy(dltFifoBaseDir, env_pipe_dir, PATH_MAX); - dltFifoBaseDir[PATH_MAX] = 0; + strncpy(dltFifoBaseDir, env_pipe_dir, DLT_PATH_MAX); + dltFifoBaseDir[DLT_PATH_MAX - 1] = 0; } void dlt_log_init(int mode) @@ -2495,7 +2495,7 @@ int dlt_buffer_push3(DltBuffer *buf, } /* set header */ - strncpy(head.head, DLT_BUFFER_HEAD, 3); + strncpy(head.head, DLT_BUFFER_HEAD, 4); head.head[3] = 0; head.status = 2; head.size = size1 + size2 + size3; |