From f7a8630584f7b52f9d27be26186fedf0aec585e8 Mon Sep 17 00:00:00 2001 From: zhushengle Date: Sat, 19 Mar 2022 17:50:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=85=A7=E6=BA=90?= =?UTF-8?q?=E6=A3=80=E8=A7=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhushengle Change-Id: I3e4e26d55dedc1eb079911eaee59a8bddf4e8eee --- apps/perf/src/main.c | 9 ++++++--- kernel/common/los_config.c | 2 +- kernel/common/los_config.h | 2 +- kernel/common/main.c | 8 +++----- kernel/extended/trace/pipeline/trace_pipeline.c | 2 +- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/apps/perf/src/main.c b/apps/perf/src/main.c index 1093a60d..ca83e016 100644 --- a/apps/perf/src/main.c +++ b/apps/perf/src/main.c @@ -63,9 +63,12 @@ int main(int argc, char **argv) } else if ((argc == THREE_ARGS) && strcmp(argv[1], "read") == 0) { size_t size = strtoul(argv[THREE_ARGS - 1], NULL, 0); char *buf = (char *)malloc(size); - int len = PerfRead(fd, buf, size); - PerfPrintBuffer(buf, len); - free(buf); + if (buf != NULL) { + int len = PerfRead(fd, buf, size); + PerfPrintBuffer(buf, len); + free(buf); + buf = NULL; + } } else if ((argc == TWO_ARGS) && strcmp(argv[1], "list") == 0) { PerfList(); } else if ((argc >= THREE_ARGS) && strcmp(argv[1], "stat") == 0) { diff --git a/kernel/common/los_config.c b/kernel/common/los_config.c index b022bab8..32b8592e 100644 --- a/kernel/common/los_config.c +++ b/kernel/common/los_config.c @@ -183,7 +183,7 @@ LITE_OS_SEC_TEXT_INIT VOID OsSystemInfo(VOID) KERNEL_NAME, KERNEL_MAJOR, KERNEL_MINOR, KERNEL_PATCH, KERNEL_ITRE, buildType); } -LITE_OS_SEC_TEXT_INIT INT32 OsMain(VOID) +LITE_OS_SEC_TEXT_INIT UINT32 OsMain(VOID) { UINT32 ret; #ifdef LOS_INIT_STATISTICS diff --git a/kernel/common/los_config.h b/kernel/common/los_config.h index 974947ae..4182458a 100644 --- a/kernel/common/los_config.h +++ b/kernel/common/los_config.h @@ -453,7 +453,7 @@ typedef VOID (*log_read_write_fn)(UINT32 startAddr, UINT32 space, UINT32 rwFlag, VOID LOS_ExcInfoRegHook(UINT32 startAddr, UINT32 space, CHAR *buf, log_read_write_fn hook); #endif -extern INT32 OsMain(VOID); +extern UINT32 OsMain(VOID); typedef VOID (*SystemRebootFunc)(VOID); VOID OsSetRebootHook(SystemRebootFunc func); diff --git a/kernel/common/main.c b/kernel/common/main.c index 02e7a948..66f9e986 100644 --- a/kernel/common/main.c +++ b/kernel/common/main.c @@ -34,11 +34,9 @@ LITE_OS_SEC_TEXT_INIT INT32 main(VOID) { - UINT32 uwRet; - - uwRet = OsMain(); - if (uwRet != LOS_OK) { - return LOS_NOK; + UINT32 ret = OsMain(); + if (ret != LOS_OK) { + return (INT32)LOS_NOK; } CPU_MAP_SET(0, OsHwIDGet()); diff --git a/kernel/extended/trace/pipeline/trace_pipeline.c b/kernel/extended/trace/pipeline/trace_pipeline.c index b28d97f9..6ec57213 100644 --- a/kernel/extended/trace/pipeline/trace_pipeline.c +++ b/kernel/extended/trace/pipeline/trace_pipeline.c @@ -132,7 +132,7 @@ VOID OsTraceDataSend(UINT8 type, UINT16 len, UINT8 *data) UINT32 intSave; UINT8 outBuf[LOSCFG_TRACE_TLV_BUF_SIZE] = {0}; - if ((type > TRACE_MSG_MAX) || (len > LOSCFG_TRACE_TLV_BUF_SIZE)) { + if ((type >= TRACE_MSG_MAX) || (len > LOSCFG_TRACE_TLV_BUF_SIZE)) { return; } -- GitLab