mirror of
https://github.com/Ascend/ascend-docker-runtime.git
synced 2025-10-27 04:50:19 +08:00
Match-id-079a003b13a9bdf214c8410ea502c3a4c168977d
This commit is contained in:
@@ -98,9 +98,7 @@ int ParseFileByLine(char* buffer, int bufferSize, const ParseFileLine fn, const
|
||||
char resolvedPath[PATH_MAX] = {0x0};
|
||||
|
||||
if (realpath(filepath, resolvedPath) == NULL && errno != ENOENT) {
|
||||
char* str = FormatLogMessage("cannot canonicalize path %s.", filepath);
|
||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
||||
free(str);
|
||||
Logger("Cannot canonicalize path.", LEVEL_ERROR, SCREEN_YES);
|
||||
return -1;
|
||||
}
|
||||
if (CheckLegality(resolvedPath) != 0) {
|
||||
@@ -210,9 +208,7 @@ int SetupDeviceCgroup(FILE *cgroupAllow, const char *devName)
|
||||
|
||||
ret = stat((const char *)devPath, &devStat);
|
||||
if (ret < 0) {
|
||||
char* str = FormatLogMessage("failed to get stat of %s.", devPath);
|
||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
||||
free(str);
|
||||
Logger("Failed to get stat of devpath.", LEVEL_ERROR, SCREEN_YES);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -327,7 +323,6 @@ int SetupCgroup(const struct ParsedConfig *config)
|
||||
FILE *cgroupAllow = NULL;
|
||||
if (realpath(config->cgroupPath, resolvedCgroupPath) == NULL && errno != ENOENT) {
|
||||
Logger("cannot canonicalize cgroup.", LEVEL_ERROR, SCREEN_YES);
|
||||
free(str);
|
||||
return -1;
|
||||
}
|
||||
if (CheckLegality(resolvedCgroupPath) != 0) {
|
||||
@@ -337,7 +332,6 @@ int SetupCgroup(const struct ParsedConfig *config)
|
||||
cgroupAllow = fopen((const char *)resolvedCgroupPath, "a");
|
||||
if (cgroupAllow == NULL) {
|
||||
Logger("failed to open cgroup file.", LEVEL_ERROR, SCREEN_YES);
|
||||
free(str);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -360,7 +354,6 @@ int SetupCgroup(const struct ParsedConfig *config)
|
||||
if (SetupDeviceCgroup(cgroupAllow, (const char *)deviceName) < 0) {
|
||||
fclose(cgroupAllow);
|
||||
Logger("failed to setup cgroup.", LEVEL_ERROR, SCREEN_YES);
|
||||
free(str);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,17 +44,13 @@ int EnterNsByPath(const char *path, int nsType)
|
||||
|
||||
fd = open(path, O_RDONLY); // proc文件接口,非外部输入
|
||||
if (fd < 0) {
|
||||
char* str = FormatLogMessage("failed to open ns path: %s.", path);
|
||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
||||
free(str);
|
||||
Logger("Failed to open ns path.", LEVEL_ERROR, SCREEN_YES);
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = EnterNsByFd(fd, nsType);
|
||||
if (ret < 0) {
|
||||
char* str = FormatLogMessage("failed to set ns: %s.", path);
|
||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
||||
free(str);
|
||||
Logger("failed to set ns.", LEVEL_ERROR, SCREEN_YES);
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -158,25 +158,19 @@ int MakeMountPoints(const char *path, mode_t mode)
|
||||
|
||||
int ret = MakeDirWithParent(parentDir, DEFAULT_DIR_MODE);
|
||||
if (ret < 0) {
|
||||
char* str = FormatLogMessage("failed to make parent dir for file: %s", path);
|
||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
||||
free(str);
|
||||
Logger("Failed to make parent dir for file.", LEVEL_ERROR, SCREEN_YES);
|
||||
return -1;
|
||||
}
|
||||
|
||||
char resolvedPath[PATH_MAX] = {0};
|
||||
if (realpath(path, resolvedPath) == NULL && errno != ENOENT) {
|
||||
char* str = FormatLogMessage("failed to resolve path %s.", path);
|
||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
||||
free(str);
|
||||
Logger("failed to resolve path.", LEVEL_ERROR, SCREEN_YES);
|
||||
return -1;
|
||||
}
|
||||
|
||||
int fd = open(resolvedPath, O_NOFOLLOW | O_CREAT, mode);
|
||||
if (fd < 0) {
|
||||
char* str = FormatLogMessage("cannot create file: %s.", resolvedPath);
|
||||
Logger(str, LEVEL_ERROR, SCREEN_YES);
|
||||
free(str);
|
||||
Logger("cannot create file.", LEVEL_ERROR, SCREEN_YES);
|
||||
return -1;
|
||||
}
|
||||
close(fd);
|
||||
@@ -189,7 +183,7 @@ int CheckLegality(const char* filename)
|
||||
fprintf(stderr, "filename pointer is null!\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
char buf[PATH_MAX + 1] = {0x00};
|
||||
errno_t ret = strncpy_s(buf, PATH_MAX + 1, filename, strlen(filename));
|
||||
if (ret != EOK) {
|
||||
@@ -208,7 +202,7 @@ int CheckLegality(const char* filename)
|
||||
fprintf(stderr, "Please check the write permission!\n");
|
||||
return -1;
|
||||
}
|
||||
} while (strcmp(dirname(buf), "/"));
|
||||
|
||||
} while (strncmp(dirname(buf), "/", strlen(dirname(buf))));
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user