未验证 提交 d6ba6273 编写于 作者: O openharmony_ci 提交者: Gitee

!1530 Fix: init review检视意见修改

Merge pull request !1530 from cheng_jinsong/init_1118
......@@ -172,7 +172,7 @@ void ReapService(Service *service);
void NotifyServiceChange(Service *service, int status);
int IsForbidden(const char *fieldStr);
int SetImportantValue(Service *curServ, const char *attrName, int value, int flag);
int GetServiceCaps(const cJSON *curArrItem, Service *curServ);
int InitServiceCaps(const cJSON *curArrItem, Service *curServ);
int ServiceExec(const Service *service);
void CloseServiceFds(Service *service, bool needFree);
int UpdaterServiceFds(Service *service, int *fds, size_t fdCount);
......
......@@ -73,8 +73,8 @@ typedef struct ServiceSocket_ {
int CreateServiceSocket(struct Service_ *service);
void CloseServiceSocket(struct Service_ *service);
int SocketAddWatcher(ServiceWatcher *watcherHandle, struct Service_ *service, int fd);
void SocketDelWatcher(ServiceWatcher watcherHandle);
int AddSocketWatcher(ServiceWatcher *watcherHandle, struct Service_ *service, int fd);
void RemoveSocketWatcher(ServiceWatcher watcherHandle);
#ifdef __cplusplus
#if __cplusplus
......
......@@ -84,7 +84,7 @@ static unsigned int GetCapByString(const char *capStr)
return CAP_LAST_CAP + 1;
}
int GetServiceCaps(const cJSON *curArrItem, Service *service)
int InitServiceCaps(const cJSON *curArrItem, Service *service)
{
INIT_ERROR_CHECK(service != NULL, return SERVICE_FAILURE, "service is null ptr.");
INIT_ERROR_CHECK(curArrItem != NULL, return SERVICE_FAILURE, "json is null ptr.");
......@@ -116,6 +116,8 @@ int GetServiceCaps(const cJSON *curArrItem, Service *service)
break;
}
caps = GetCapByString(capStr);
} else {
caps = CAP_LAST_CAP + 1;
}
if ((caps > CAP_LAST_CAP) && (caps != (unsigned int)FULL_CAP)) {
INIT_LOGE("service=%s not support caps = %s caps %d", service->name, capStr, caps);
......
......@@ -68,7 +68,7 @@ static char *AddOneArg(const char *param, size_t paramLen)
begin = strchr(begin + 1, '$');
}
size_t allocSize = paramLen + (PARAM_VALUE_LEN_MAX * valueCount) + 1;
char *arg = calloc(sizeof(char), allocSize);
char *arg = calloc(allocSize, sizeof(char));
INIT_CHECK(arg != NULL, return NULL);
int ret = GetParamValue(param, paramLen, arg, allocSize);
INIT_ERROR_CHECK(ret == 0, free(arg);
......@@ -104,6 +104,7 @@ char *BuildStringFromCmdArg(const struct CmdArgs *ctx, int startIndex)
const struct CmdArgs *GetCmdArg(const char *cmdContent, const char *delim, int argsCount)
{
INIT_CHECK_RETURN_VALUE(cmdContent != NULL, NULL);
INIT_CHECK_RETURN_VALUE(delim != NULL, NULL);
INIT_WARNING_CHECK(argsCount <= SPACES_CNT_IN_CMD_MAX, argsCount = SPACES_CNT_IN_CMD_MAX,
"Too much arguments for command, max number is %d", SPACES_CNT_IN_CMD_MAX);
struct CmdArgs *ctx = (struct CmdArgs *)calloc(1, sizeof(struct CmdArgs) + sizeof(char *) * (argsCount + 1));
......@@ -427,7 +428,7 @@ static void DoMount(const struct CmdArgs *ctx)
INIT_ERROR_CHECK(fileSysType != NULL, return, "Failed to get fileSysType.");
index++;
char *source = (ctx->argc > index) ? ctx->argv[index] : NULL;
char *source = (ctx->argc > index) ? ctx->argv[index] : NULL;
INIT_ERROR_CHECK(source != NULL, return, "Failed to get source.");
index++;
......@@ -714,7 +715,7 @@ int GetCmdLinesFromJson(const cJSON *root, CmdLines **cmdLines)
return 0;
}
long long InitDiffTime(INIT_TIMING_STAT *stat)
long long InitDiffTime(INIT_TIMING_STAT *stat)
{
long long diff = (long long)((stat->endTime.tv_sec - stat->startTime.tv_sec) * 1000000); // 1000000 1000ms
if (stat->endTime.tv_nsec > stat->startTime.tv_nsec) {
......
......@@ -470,7 +470,7 @@ static void CheckServiceSocket(Service *service)
INIT_LOGE("Invalid socket %s for service", service->name);
tmpSock = tmpSock->next;
}
SocketAddWatcher(&tmpSock->watcher, service, tmpSock->sockFd);
AddSocketWatcher(&tmpSock->watcher, service, tmpSock->sockFd);
tmpSock = tmpSock->next;
}
return;
......@@ -556,8 +556,8 @@ void ServiceReap(Service *service)
int UpdaterServiceFds(Service *service, int *fds, size_t fdCount)
{
if (service == NULL) {
INIT_LOGE("Invalid service info");
if (service == NULL || fds == NULL) {
INIT_LOGE("Invalid service info or fds");
return -1;
}
......
......@@ -59,8 +59,8 @@ int ParseInitCfg(const char *configFile, void *context)
static void ParseAllImports(const cJSON *root)
{
char *tmpParamValue = calloc(sizeof(char), PARAM_VALUE_LEN_MAX + 1);
INIT_ERROR_CHECK(tmpParamValue != 0, return, "Failed to alloc memory for param");
char *tmpParamValue = calloc(PARAM_VALUE_LEN_MAX + 1, sizeof(char));
INIT_ERROR_CHECK(tmpParamValue != NULL, return, "Failed to alloc memory for param");
cJSON *importAttr = cJSON_GetObjectItemCaseSensitive(root, "import");
if (!cJSON_IsArray(importAttr)) {
......
......@@ -247,6 +247,9 @@ static int GetGid(cJSON *json, gid_t *gid, Service *curServ)
*gid = DecodeGid(str);
} else if (cJSON_IsNumber(json)) {
*gid = (gid_t)cJSON_GetNumberValue(json);
} else {
INIT_LOGW("Service %s with invalid gid configuration", curServ->name);
*gid = -1; // Invalid gid, set as -1
}
INIT_ERROR_CHECK(*gid != (gid_t)(-1), return SERVICE_FAILURE, "Failed to get gid for %s", curServ->name);
return SERVICE_SUCCESS;
......@@ -320,7 +323,7 @@ static int ParseSocketFamily(cJSON *json, ServiceSocket *sockopt)
char *stringValue = GetStringValue(json, "family", &strLen);
INIT_ERROR_CHECK((stringValue != NULL) && (strLen > 0), return SERVICE_FAILURE,
"Failed to get string for family");
if (strncmp(stringValue, "AF_UNIX", strLen) == 0) {
if (strcmp(stringValue, "AF_UNIX") == 0) {
sockopt->family = AF_UNIX;
} else if (strncmp(stringValue, "AF_NETLINK", strLen) == 0) {
sockopt->family = AF_NETLINK;
......@@ -851,7 +854,7 @@ int ParseOneService(const cJSON *curItem, Service *service)
ParseOneServiceArgs(curItem, service);
ret = GetServiceSandbox(curItem, service);
INIT_ERROR_CHECK(ret == 0, return SERVICE_FAILURE, "Failed to get sandbox for service %s", service->name);
ret = GetServiceCaps(curItem, service);
ret = InitServiceCaps(curItem, service);
INIT_ERROR_CHECK(ret == 0, return SERVICE_FAILURE, "Failed to get caps for service %s", service->name);
ret = GetServiceOnDemand(curItem, service);
INIT_ERROR_CHECK(ret == 0, return SERVICE_FAILURE, "Failed to get ondemand flag for service %s", service->name);
......
......@@ -177,13 +177,13 @@ static void ProcessWatchEvent_(const WatcherHandle watcherHandle, int fd, uint32
return;
}
INIT_LOGI("Socket information detected, fd:%d service name:%s", fd, service->name);
SocketDelWatcher(watcherHandle);
RemoveSocketWatcher(watcherHandle);
if (ServiceStart(service) != SERVICE_SUCCESS) {
INIT_LOGE("Service %s start failed!", service->name);
}
}
int SocketAddWatcher(ServiceWatcher *watcherHandle, Service *service, int fd)
int AddSocketWatcher(ServiceWatcher *watcherHandle, Service *service, int fd)
{
WatcherHandle handle;
LE_WatchInfo info = {};
......@@ -197,7 +197,7 @@ int SocketAddWatcher(ServiceWatcher *watcherHandle, Service *service, int fd)
return ret;
}
void SocketDelWatcher(ServiceWatcher watcherHandle)
void RemoveSocketWatcher(ServiceWatcher watcherHandle)
{
LE_RemoveWatcher(LE_GetDefaultLoop(), (WatcherHandle)watcherHandle);
}
......@@ -219,7 +219,7 @@ int CreateServiceSocket(Service *service)
INIT_CHECK_RETURN_VALUE(ret == 0, -1);
}
if (strcmp(service->name, "ueventd") != 0) {
ret = SocketAddWatcher(&tmpSock->watcher, service, tmpSock->sockFd);
ret = AddSocketWatcher(&tmpSock->watcher, service, tmpSock->sockFd);
INIT_CHECK_RETURN_VALUE(ret == 0, -1);
}
}
......@@ -237,7 +237,7 @@ void CloseServiceSocket(Service *service)
ServiceSocket *sockopt = service->socketCfg;
while (sockopt != NULL) {
if (sockopt->watcher != NULL) {
SocketDelWatcher(sockopt->watcher);
RemoveSocketWatcher(sockopt->watcher);
}
if (sockopt->sockFd >= 0) {
close(sockopt->sockFd);
......
......@@ -52,7 +52,7 @@ static int GetJobName(const cJSON *jobItem, Job *resJob)
return 0;
}
if (memcpy_s(resJob->name, MAX_JOB_NAME_LEN, jobNameStr, strlen(jobNameStr)) != EOK) {
if (strcpy_s(resJob->name, MAX_JOB_NAME_LEN, jobNameStr) != EOK) {
INIT_LOGE("Get job name \"%s\" failed", jobNameStr);
return 0;
}
......
......@@ -362,7 +362,7 @@ HWTEST_F(InitGroupManagerUnitTest, TestProcessWatchEvent, TestSize.Level1)
ServiceSocket servercfg = {.next = nullptr, .sockFd = 0};
service->socketCfg = &servercfg;
ServiceWatcher watcher;
int ret = SocketAddWatcher(&watcher, service, 0);
int ret = AddSocketWatcher(&watcher, service, 0);
ASSERT_EQ(ret, 0);
uint32_t event;
((WatcherTask *)watcher)->processEvent((WatcherHandle)watcher, 0, &event, service);
......
......@@ -235,7 +235,7 @@ static void BuildDeviceSymbolLinks(char **links, int linkNum, const char *parent
INIT_LOGW("Too many links, ignore");
return;
}
links[linkNum] = calloc(sizeof(char), DEVICE_FILE_SIZE);
links[linkNum] = calloc(DEVICE_FILE_SIZE, sizeof(char));
if (links[linkNum] == NULL) {
INIT_LOGE("Failed to allocate memory for link, err = %d", errno);
return;
......@@ -287,7 +287,7 @@ static char **GetBlockDeviceSymbolLinks(const struct Uevent *uevent)
INIT_LOGE("Failed to build sys path for device %s", uevent->syspath);
return NULL;
}
char **links = calloc(sizeof(char *), BLOCKDEVICE_LINKS);
char **links = calloc(BLOCKDEVICE_LINKS, sizeof(char *));
int linkNum = 0;
if (links == NULL) {
INIT_LOGE("Failed to allocate memory for links, err = %d", errno);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册