diff options
author | Jaehyun Kim <jeik01.kim@samsung.com> | 2019-01-24 22:24:50 +0900 |
---|---|---|
committer | Jaehyun Kim <jeik01.kim@samsung.com> | 2019-01-24 22:24:50 +0900 |
commit | 1e03ed8e01341985c63bd218ab40217f0a72cd63 (patch) | |
tree | a1b9995573ed847298b41573d477fc2c68a98e49 | |
parent | c974e1bb4bbe5070dde8db78262c62959ca9b423 (diff) | |
download | connman-1e03ed8e01341985c63bd218ab40217f0a72cd63.tar.gz connman-1e03ed8e01341985c63bd218ab40217f0a72cd63.tar.bz2 connman-1e03ed8e01341985c63bd218ab40217f0a72cd63.zip |
Fixed SVACE issuessubmit/tizen/20190125.015829accepted/tizen/unified/20190128.061809
Change-Id: I84e9c9a7719e017892d4f353cf141901ca94beb8
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
-rwxr-xr-x | src/dnsproxy.c | 6 | ||||
-rwxr-xr-x | src/log.c | 21 |
2 files changed, 21 insertions, 6 deletions
diff --git a/src/dnsproxy.c b/src/dnsproxy.c index 3fa7bf46..72c0d8f1 100755 --- a/src/dnsproxy.c +++ b/src/dnsproxy.c @@ -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) { @@ -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+"); |