summaryrefslogtreecommitdiff
path: root/src/lib/dlt_user.c
diff options
context:
space:
mode:
authorRadoslaw Kaczorowski <external.radoslaw.kaczorowski@bosch-softtec.com>2019-06-17 11:19:22 +0700
committerSaya Sugiura <39760799+ssugiura@users.noreply.github.com>2019-07-03 11:48:10 +0900
commit646f76c58bc81b2d41163b2e9dfcf279ebd9e887 (patch)
tree81f1f4d9532e28ec006e71c268c739fd71e13828 /src/lib/dlt_user.c
parentb757183f51920e8445ed0ea0bbdb490d99781ec6 (diff)
downloadDLT-daemon-646f76c58bc81b2d41163b2e9dfcf279ebd9e887.tar.gz
define DLT_PATH_MAX for max path buffer length
DLT limits the path length and does not do anything else to determine the actual value, because the least that is supported on any system that DLT runs on is 1024 bytes. Signed-off-by: Vo Trung Chi <Chi.VoTrung@vn.bosch.com>
Diffstat (limited to 'src/lib/dlt_user.c')
-rw-r--r--src/lib/dlt_user.c22
1 files changed, 12 insertions, 10 deletions
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);
}