提交 f98b0e74 编写于 作者: X xionglei6

init: fix bugs

Signed-off-by: Nxionglei6 <xionglei6@huawei.com>
上级 1135c557
...@@ -63,24 +63,13 @@ static int CreateFile(ServiceFile *file) ...@@ -63,24 +63,13 @@ static int CreateFile(ServiceFile *file)
static int SetFileEnv(int fd, const char *pathName) static int SetFileEnv(int fd, const char *pathName)
{ {
INIT_ERROR_CHECK(pathName != NULL, return -1, "Invalid fileName"); INIT_ERROR_CHECK(pathName != NULL, return -1, "Invalid fileName");
char *name = (char *)calloc(1, strlen(pathName) + 1); char pubName[PATH_MAX] = { 0 };
INIT_CHECK(name != NULL, return -1); if (snprintf_s(pubName, sizeof(pubName), sizeof(pubName) - 1, HOS_FILE_ENV_PREFIX "%s", pathName) < 0) {
if (strncpy_s(name, strlen(pathName) + 1, pathName, strlen(pathName)) < 0) {
INIT_LOGE("Failed strncpy_s err=%d", errno);
free(name);
return -1;
}
if (StringReplaceChr(name, '/', '_') < 0) {
free(name);
return -1; return -1;
} }
if (StringReplaceChr(pubName, '/', '_') < 0) {
char pubName[PATH_MAX] = { 0 };
if (snprintf_s(pubName, sizeof(pubName), sizeof(pubName) - 1, HOS_FILE_ENV_PREFIX "%s", name) < 0) {
free(name);
return -1; return -1;
} }
free(name);
char val[MAX_FILE_FD_LEN] = { 0 }; char val[MAX_FILE_FD_LEN] = { 0 };
if (snprintf_s(val, sizeof(val), sizeof(val) - 1, "%d", fd) < 0) { if (snprintf_s(val, sizeof(val), sizeof(val) - 1, "%d", fd) < 0) {
return -1; return -1;
......
...@@ -34,6 +34,7 @@ ohos_unittest("init_ut") { ...@@ -34,6 +34,7 @@ ohos_unittest("init_ut") {
sources = [ sources = [
"//base/startup/init_lite/interfaces/innerkits/fs_manager/fstab.c", "//base/startup/init_lite/interfaces/innerkits/fs_manager/fstab.c",
"//base/startup/init_lite/interfaces/innerkits/fs_manager/fstab_mount.c", "//base/startup/init_lite/interfaces/innerkits/fs_manager/fstab_mount.c",
"//base/startup/init_lite/interfaces/innerkits/file/init_file.c",
"//base/startup/init_lite/services/init/adapter/init_adapter.c", "//base/startup/init_lite/services/init/adapter/init_adapter.c",
"//base/startup/init_lite/services/init/init_capability.c", "//base/startup/init_lite/services/init/init_capability.c",
"//base/startup/init_lite/services/init/init_common_cmds.c", "//base/startup/init_lite/services/init/init_common_cmds.c",
...@@ -41,6 +42,7 @@ ohos_unittest("init_ut") { ...@@ -41,6 +42,7 @@ ohos_unittest("init_ut") {
"//base/startup/init_lite/services/init/init_config.c", "//base/startup/init_lite/services/init/init_config.c",
"//base/startup/init_lite/services/init/init_service_manager.c", "//base/startup/init_lite/services/init/init_service_manager.c",
"//base/startup/init_lite/services/init/init_service_socket.c", "//base/startup/init_lite/services/init/init_service_socket.c",
"//base/startup/init_lite/services/init/init_service_file.c",
"//base/startup/init_lite/services/init/standard/device.c", "//base/startup/init_lite/services/init/standard/device.c",
"//base/startup/init_lite/services/init/standard/init.c", "//base/startup/init_lite/services/init/standard/init.c",
"//base/startup/init_lite/services/init/standard/init_cmds.c", "//base/startup/init_lite/services/init/standard/init_cmds.c",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册