From 2c3b3b9d7e170de8e7da9fd8e9179933b6b41fc7 Mon Sep 17 00:00:00 2001 From: taeyoung Date: Tue, 5 Jul 2016 09:04:46 +0900 Subject: [PATCH] common: fix thread safe issues and uninitialized issues Change-Id: Iefa413c6505ea909e20a8220278c46a353ec5c9b Signed-off-by: taeyoung --- src/sys-assert/sys-assert.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/sys-assert/sys-assert.c b/src/sys-assert/sys-assert.c index e68c946..dc76d64 100644 --- a/src/sys-assert/sys-assert.c +++ b/src/sys-assert/sys-assert.c @@ -102,7 +102,7 @@ extern int dump_callstack(void **callstack_addrs, int size, void *context, int r static int trace_symbols(void *const *array, int size, struct addr_node *start, int fd) { Dl_info info_funcs; - Elf32_Ehdr elf_h; + Elf32_Ehdr elf_h = {{0,},0,}; Elf32_Shdr *s_headers; Elf32_Sym *symtab_entry; int i, cnt, file, ret; @@ -595,7 +595,7 @@ void sighandler(int signum, siginfo_t *info, void *context) pid_t pid; pid_t tid; DIR *dir; - struct dirent *dentry; + struct dirent entry, *dentry; char timestr[TIME_MAX_LEN]; char processname[NAME_MAX] = {0,}; char exepath[PATH_LEN] = {0,}; @@ -614,7 +614,7 @@ void sighandler(int signum, siginfo_t *info, void *context) struct addr_node *head = NULL; /* for preventing recursion */ static int retry_count = 0; - struct sysinfo si; + struct sysinfo si = {0,}; if (retry_count > 1) { fprintf(stderr, "[sys-assert] recurcive called\n"); @@ -676,8 +676,8 @@ void sighandler(int signum, siginfo_t *info, void *context) /* create cs file */ if ((fd_cs = creat(filepath, FILE_PERMS)) < 0) { fprintf(stderr, - "[sys-assert]can't create %s. errno = %s\n", - filepath, strerror(errno)); + "[sys-assert]can't create %s. errno = %d\n", + filepath, errno); return; } @@ -772,7 +772,7 @@ void sighandler(int signum, siginfo_t *info, void *context) if (!dir) { fprintf(stderr, "[sys-assert]can't open %s\n", TASK_PATH); } else { - while ((dentry = readdir(dir)) != NULL) { + while (readdir_r(dir, &entry, &dentry) == 0) { if( strcmp(dentry->d_name, ".") == 0 || strcmp(dentry->d_name, "..") == 0) continue; -- 2.7.4