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

!2003 fix codex

Merge pull request !2003 from cheng_jinsong/master_cc
......@@ -433,7 +433,7 @@ static int32_t CheckTraceStatus(void)
return (-errno);
}
char data[1024] = { 0 };
char data[1024] = { 0 }; // 1024 data len
ssize_t dataNum = read(fd, data, sizeof(data));
if (close(fd) < 0) {
INIT_LOGE("lldb: close fd error: %{public}d", errno);
......@@ -446,6 +446,7 @@ static int32_t CheckTraceStatus(void)
}
const char* tracerPid = "TracerPid:\t";
data[1023] = '\0'; // 1023 data last position
char *traceStr = strstr(data, tracerPid);
if (traceStr == NULL) {
INIT_LOGE("lldb: fail to find %{public}s", tracerPid);
......
......@@ -82,6 +82,10 @@ int GetParamValue(const char *symValue, unsigned int symLen, char *paramValue, u
// copy param name
ret = strncpy_s(tmpName, PARAM_NAME_LEN_MAX, begin, left - begin);
INIT_ERROR_CHECK(ret == EOK, return -1, "Invalid param name %s", symValue);
if (paramLen < curr) {
INIT_LOGE("Failed to get param value over max length");
return -1;
}
uint32_t valueLen = paramLen - curr;
ret = SystemReadParam(tmpName, paramValue + curr, &valueLen);
INIT_ERROR_CHECK(ret == 0, return -1, "Failed to get param %s", tmpName);
......
......@@ -54,8 +54,8 @@ static int TraversalEvent(ListNode *node, void *root)
return 0;
}
EventArgs *args = (EventArgs *)root;
uint32_t len = GetServiceName(item->paramName, args->buffer + args->currLen, args->bufferLen - args->currLen);
PLUGIN_CHECK(len > 0 && ((len + args->currLen) < args->bufferLen), return -1,
int len = GetServiceName(item->paramName, args->buffer + args->currLen, args->bufferLen - args->currLen);
PLUGIN_CHECK(len > 0 && (((uint32_t)len + args->currLen) < args->bufferLen), return -1,
"Failed to format service name %s", item->paramName);
args->currLen += len;
......@@ -64,9 +64,9 @@ static int TraversalEvent(ListNode *node, void *root)
(uint32_t)(item->timestamp[BOOTEVENT_FORK].tv_nsec / MSECTONSEC),
(uint32_t)item->timestamp[BOOTEVENT_READY].tv_sec,
(uint32_t)(item->timestamp[BOOTEVENT_READY].tv_nsec / MSECTONSEC));
PLUGIN_CHECK(len > 0 && ((len + args->currLen) < args->bufferLen), return -1,
PLUGIN_CHECK(len > 0 && (((uint32_t)len + args->currLen) < args->bufferLen), return -1,
"Failed to format service time %s", item->paramName);
args->currLen += len;
args->currLen += (uint32_t)len;
return 0;
}
......
......@@ -88,7 +88,9 @@ static char *ReadFile(const char *path)
PLUGIN_LOGE("Invalid file %s or buffer %zu", path, fileStat.st_size);
return NULL;
}
FILE *fd = fopen(path, "r");
char realPath[PATH_MAX] = "";
realpath(path, realPath);
FILE *fd = fopen(realPath, "r");
PLUGIN_CHECK(fd != NULL, return NULL, "Failed to fopen path %s", path);
char *buffer = NULL;
do {
......@@ -171,7 +173,9 @@ static bool WriteStrToFile(const char *filename, const char *str)
int len = sprintf_s((char *)workspace->buffer, sizeof(workspace->buffer),
"%s%s", workspace->traceRootPath, filename);
PLUGIN_CHECK(len > 0, return false, "Failed to format path %s", filename);
FILE *outfile = fopen(workspace->buffer, "w");
char realPath[PATH_MAX] = "";
realpath(workspace->buffer, realPath);
FILE *outfile = fopen(realPath, "w");
PLUGIN_CHECK(outfile != NULL, return false, "Failed to open file %s.", workspace->buffer);
(void)fprintf(outfile, "%s", str);
(void)fflush(outfile);
......@@ -328,8 +332,10 @@ static bool ClearTrace(void)
int len = sprintf_s((char *)workspace->buffer, sizeof(workspace->buffer),
"%s%s", workspace->traceRootPath, TRACE_PATH);
PLUGIN_CHECK(len > 0, return false, "Failed to format path %s", TRACE_PATH);
char realPath[PATH_MAX] = "";
realpath(workspace->buffer, realPath);
// clear old trace file
int fd = open(workspace->buffer, O_RDWR);
int fd = open(realPath, O_RDWR);
PLUGIN_CHECK(fd >= 0, return false, "Failed to open file %s errno %d", workspace->buffer, errno);
(void)ftruncate(fd, 0);
close(fd);
......@@ -379,7 +385,9 @@ static void DumpTrace(const TraceWorkspace *workspace, int outFd, const char *pa
{
int len = sprintf_s((char *)workspace->buffer, sizeof(workspace->buffer), "%s%s", workspace->traceRootPath, path);
PLUGIN_CHECK(len > 0, return, "Failed to format path %s", path);
int traceFd = open(workspace->buffer, O_RDWR);
char realPath[PATH_MAX] = "";
realpath(workspace->buffer, realPath);
int traceFd = open(realPath, O_RDWR);
PLUGIN_CHECK(traceFd >= 0, return, "Failed to open file %s errno %d", workspace->buffer, errno);
ssize_t bytesWritten;
......@@ -421,7 +429,9 @@ static bool MarkOthersClockSync(void)
const float nanoToSecond = 1000000000.0f; // consistent with the ftrace timestamp format
PLUGIN_LOGE("MarkOthersClockSync %s", workspace->buffer);
FILE *file = fopen(workspace->buffer, "wt+");
char realPath[PATH_MAX] = { 0 };
realpath(workspace->buffer, realPath);
FILE *file = fopen(realPath, "wt+");
PLUGIN_CHECK(file != NULL, return false, "Error: opening %s, errno: %d", TRACE_MARKER_PATH, errno);
do {
int64_t realtime = (int64_t)((rts.tv_sec * nanoSeconds + rts.tv_nsec) / nanoToMill);
......
......@@ -32,8 +32,9 @@ void HandleFimwareDeviceEvent(const struct Uevent *uevent)
INIT_LOGE("Failed to build firmware loading path");
return;
}
int fd = open(fwLoadingPath, O_WRONLY | O_CLOEXEC);
char realPath[PATH_MAX] = { 0 };
realpath(fwLoadingPath, realPath);
int fd = open(realPath, O_WRONLY | O_CLOEXEC);
if (fd < 0) {
INIT_LOGE("Failed to open %s, err = %d", fwLoadingPath, errno);
return;
......
......@@ -91,6 +91,9 @@ int main(int argc, const char *argv[])
int interval = 0;
if (argc >= 2) { // Argument nums greater than or equal to 2.
interval = atoi(argv[1]);
if (interval < 0 || interval > INT16_MAX) {
interval = DEFAULT_INTERVAL;
}
}
interval = (interval > 0) ? interval : DEFAULT_INTERVAL;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册