From 51cbe71376f0087b2fbe5049d27be1a235f08b46 Mon Sep 17 00:00:00 2001 From: hyunuktak Date: Fri, 27 Jul 2018 15:26:35 +0900 Subject: [PATCH] Checked file stat before realpath Change-Id: Iae4a7b7f97b90389a5c35ccf6144e42b3b525d02 Signed-off-by: hyunuktak --- packaging/stc-manager.spec | 2 +- src/helper/helper-file.c | 11 +++++++---- src/helper/helper-file.h | 1 + 3 files changed, 9 insertions(+), 5 deletions(-) mode change 100644 => 100755 src/helper/helper-file.c mode change 100644 => 100755 src/helper/helper-file.h diff --git a/packaging/stc-manager.spec b/packaging/stc-manager.spec index b379e73..7e20304 100644 --- a/packaging/stc-manager.spec +++ b/packaging/stc-manager.spec @@ -1,6 +1,6 @@ Name: stc-manager Summary: STC(Smart Traffic Control) manager -Version: 0.0.72 +Version: 0.0.73 Release: 0 Group: Network & Connectivity/Other License: Apache-2.0 diff --git a/src/helper/helper-file.c b/src/helper/helper-file.c old mode 100644 new mode 100755 index 636ef5d..73b93bd --- a/src/helper/helper-file.c +++ b/src/helper/helper-file.c @@ -24,14 +24,17 @@ int fwrite_str(const char *path, const char *str) _cleanup_fclose_ FILE *f = NULL; int ret; char * t; + struct stat stat_buf; assert(path); assert(str); - t = realpath(path, NULL); - ret_value_errno_msg_if(!t, -errno, - "Fail to get realpath %s", path); - free(t); + if (stat(path, &stat_buf) == 0) { + t = realpath(path, NULL); + ret_value_errno_msg_if(!t, -errno, + "Fail to get realpath %s", path); + free(t); + } f = fopen(path, "w"); ret_value_errno_msg_if(!f, -errno, diff --git a/src/helper/helper-file.h b/src/helper/helper-file.h old mode 100644 new mode 100755 index c5ff1b8..b45a668 --- a/src/helper/helper-file.h +++ b/src/helper/helper-file.h @@ -21,6 +21,7 @@ #include #include #include +#include #include "stc-manager.h" -- 2.7.4