Fixed SVACE issues 53/198453/1 accepted/tizen/unified/20190128.061809 submit/tizen/20190125.015829
authorJaehyun Kim <jeik01.kim@samsung.com>
Thu, 24 Jan 2019 13:24:50 +0000 (22:24 +0900)
committerJaehyun Kim <jeik01.kim@samsung.com>
Thu, 24 Jan 2019 13:24:50 +0000 (22:24 +0900)
Change-Id: I84e9c9a7719e017892d4f353cf141901ca94beb8
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
src/dnsproxy.c
src/log.c

index 3fa7bf4..72c0d8f 100755 (executable)
@@ -3956,7 +3956,11 @@ static GIOChannel *get_listener(int family, int protocol, int index)
        /* When ConnMan crashed,
         * probably DNS listener cannot bind existing address */
        option = 1;
-       setsockopt(sk, SOL_SOCKET, SO_REUSEADDR, &option, sizeof(option));
+       if (setsockopt(sk, SOL_SOCKET, SO_REUSEADDR, &option, sizeof(option)) < 0) {
+               connman_error("Failed to set socket option SO_REUSEADDR");
+               close(sk);
+               return NULL;
+       }
 #endif
 #if !defined TIZEN_EXT
        if (bind(sk, &s.sa, slen) < 0) {
index 2553d20..3112a43 100755 (executable)
--- a/src/log.c
+++ b/src/log.c
@@ -77,7 +77,8 @@ static void __connman_log_update_file_revision(int rev)
        next_log_file = g_strdup_printf("%s.%d", LOG_FILE_PATH, next_log_rev);
 
        if (next_log_rev >= MAX_LOG_COUNT)
-               remove(next_log_file);
+               if (remove(next_log_file) != 0)
+                       goto error;
 
        if (access(next_log_file, F_OK) == 0)
                __connman_log_update_file_revision(next_log_rev);
@@ -85,14 +86,16 @@ static void __connman_log_update_file_revision(int rev)
        if (rename(log_file, next_log_file) != 0)
                remove(log_file);
 
+error:
        g_free(log_file);
        g_free(next_log_file);
 }
 
-static void __connman_log_make_backup(void)
+static int __connman_log_make_backup(void)
 {
        const int rev = 0;
        char *backup = NULL;
+       int ret = 0;
 
        backup = g_strdup_printf("%s.%d", LOG_FILE_PATH, rev);
 
@@ -100,9 +103,11 @@ static void __connman_log_make_backup(void)
                __connman_log_update_file_revision(rev);
 
        if (rename(LOG_FILE_PATH, backup) != 0)
-               remove(LOG_FILE_PATH);
+               if (remove(LOG_FILE_PATH) != 0)
+                       ret = -1;
 
        g_free(backup);
+       return ret;
 }
 
 static void __connman_log_get_local_time(char *strtime, const int size)
@@ -131,14 +136,20 @@ void __connman_log(const int log_priority, const char *format, va_list ap)
        if (!log_file)
                return;
 
-       fstat(fileno(log_file), &buf);
+       if (fstat(fileno(log_file), &buf) < 0) {
+               fclose(log_file);
+               log_file = NULL;
+               return;
+       }
+
        log_size = buf.st_size;
 
        if (log_size >= MAX_LOG_SIZE) {
                fclose(log_file);
                log_file = NULL;
 
-               __connman_log_make_backup();
+               if (__connman_log_make_backup() != 0)
+                       return;
 
                log_file = (FILE *)fopen(LOG_FILE_PATH, "a+");