From 32af6155d3587b4a4c5e613e36e0bb69f610f718 Mon Sep 17 00:00:00 2001 From: queyanwen Date: Fri, 22 Dec 2023 16:31:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AFsock=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=B7=AF=E5=BE=84=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90?= =?UTF-8?q?=E6=9D=83=E9=99=90=E4=B8=8D=E8=B6=B3=EF=BC=8C=E6=99=AE=E9=80=9A?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=97=A0=E6=B3=95=E8=BF=9E=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pwrapis/inc/utils.h | 2 +- pwrapis/src/log.c | 4 ++-- pwrapis/src/procservice.c | 2 +- pwrapis/src/server.c | 9 +++++---- pwrapis/src/utils.c | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/pwrapis/inc/utils.h b/pwrapis/inc/utils.h index fcf9b2b..25397c3 100644 --- a/pwrapis/inc/utils.h +++ b/pwrapis/inc/utils.h @@ -152,7 +152,7 @@ const char *GetMatchN(const char *fileName, regex_t *pRegex, int n, char *row, i int MatchCnt(const char *fileName, regex_t *pRegex); // Create a multi - level directory -int MkDirs(const char *sDirName); +int MkDirs(const char *sDirName, mode_t perm); /** * Crc32 - Return CRC check code diff --git a/pwrapis/src/log.c b/pwrapis/src/log.c index 9fb1f9f..ae619c2 100644 --- a/pwrapis/src/log.c +++ b/pwrapis/src/log.c @@ -154,13 +154,13 @@ int InitLogger(void) regcomp(&g_logCmpFlRgx, "^", REG_EXTENDED | REG_NOSUB); if (access(GetLogCfg()->logPath, F_OK) != 0) { - if (MkDirs(GetLogCfg()->logPath) != PWR_SUCCESS) { + if (MkDirs(GetLogCfg()->logPath, CRT_DIR_MODE) != PWR_SUCCESS) { perror("access log path failed."); return PWR_ERR_SYS_EXCEPTION; } } if (access(GetLogCfg()->logBkp, F_OK) != 0) { - if (MkDirs(GetLogCfg()->logBkp) != PWR_SUCCESS) { + if (MkDirs(GetLogCfg()->logBkp, CRT_DIR_MODE) != PWR_SUCCESS) { perror("access log path failed."); return PWR_ERR_SYS_EXCEPTION; } diff --git a/pwrapis/src/procservice.c b/pwrapis/src/procservice.c index e33a2df..a265097 100644 --- a/pwrapis/src/procservice.c +++ b/pwrapis/src/procservice.c @@ -356,7 +356,7 @@ void ProcSetWattState(PwrMsg *req) SendRspToClient(req, PWR_ERR_INVALIDE_PARAM, NULL, 0); return; } - if (access(WATT_CGROUP_PATH, F_OK) != 0 && MkDirs(WATT_CGROUP_PATH) != PWR_SUCCESS) { + if (access(WATT_CGROUP_PATH, F_OK) != 0 && MkDirs(WATT_CGROUP_PATH, CRT_DIR_MODE) != PWR_SUCCESS) { SendRspToClient(req, PWR_ERR_SYS_EXCEPTION, NULL, 0); return; } diff --git a/pwrapis/src/server.c b/pwrapis/src/server.c index 7a81713..6c5cf6a 100644 --- a/pwrapis/src/server.c +++ b/pwrapis/src/server.c @@ -84,6 +84,7 @@ static int ListenStart(int sockFd, const struct sockaddr_un *addr) return PWR_SUCCESS; } +#define SOCK_DIR_PERM 0755 static int CheckAndCreateSockPath(const char *filepath) { char path[MAX_FULL_NAME] = {0}; @@ -93,7 +94,7 @@ static int CheckAndCreateSockPath(const char *filepath) } if (access(path, F_OK) != 0) { - if (MkDirs(path) != PWR_SUCCESS) { + if (MkDirs(path, SOCK_DIR_PERM) != PWR_SUCCESS) { perror("access sock file path failed.\n"); return PWR_ERR_SYS_EXCEPTION; } @@ -164,16 +165,16 @@ static int PassCredVerification(const struct ucred *credSocket) static PWR_COM_EventInfo* CreateEventInfo(const char *info, PWR_COM_EVT_TYPE eventType) { - size_t eventInfoLen = sizeof(PWR_COM_EventInfo) + strlen(info); + size_t eventInfoLen = sizeof(PWR_COM_EventInfo) + strlen(info) + 1; PWR_COM_EventInfo *eventInfo = (PWR_COM_EventInfo *)malloc(eventInfoLen); if (!eventInfo) { return NULL; } - bzero(eventInfo, sizeof(PWR_COM_EventInfo)); + bzero(eventInfo, sizeof(eventInfoLen)); GetCurFullTime(eventInfo->ctime, PWR_MAX_TIME_LEN); eventInfo->eventType = eventType; - eventInfo->infoLen = strlen(info); + eventInfo->infoLen = strlen(info) + 1; strcpy(eventInfo->info, info); return eventInfo; } diff --git a/pwrapis/src/utils.c b/pwrapis/src/utils.c index 0c9b163..483f863 100644 --- a/pwrapis/src/utils.c +++ b/pwrapis/src/utils.c @@ -553,7 +553,7 @@ const char *GetMatchN(const char *fileName, regex_t *pRegex, int n, char *row, i } } -int MkDirs(const char *sDirName) +int MkDirs(const char *sDirName, mode_t perm) { size_t i; size_t len; @@ -574,7 +574,7 @@ int MkDirs(const char *sDirName) DirName[i] = PATH_SEP_CHAR; continue; } - if (mkdir(DirName, CRT_DIR_MODE) == -1) { + if (mkdir(DirName, perm) == -1) { return FAILED; } DirName[i] = PATH_SEP_CHAR; -- Gitee