diff --git a/components/fs/vfs/los_fs.c b/components/fs/vfs/los_fs.c index 5fb95380..13c5f94c 100644 --- a/components/fs/vfs/los_fs.c +++ b/components/fs/vfs/los_fs.c @@ -269,6 +269,10 @@ int LOS_Open(const char *path, int oflag, ...) } size_t pathLen = strlen(path) + 1; + if ((unsigned)pathLen > PATH_MAX) { + errno = EINVAL; + return FS_FAILURE; + } char *canonicalPath = (char *)malloc(pathLen); if (!canonicalPath) { errno = ENOMEM; diff --git a/kernel/src/los_queue.c b/kernel/src/los_queue.c index 686e5d14..785b2316 100644 --- a/kernel/src/los_queue.c +++ b/kernel/src/los_queue.c @@ -39,6 +39,7 @@ #include "los_memory.h" #include "los_task.h" #include "los_sched.h" +#include #if (LOSCFG_BASE_IPC_QUEUE == 1)