From e85cdac2ed00402db94d39ca6c78e6467e181990 Mon Sep 17 00:00:00 2001 From: dongjiuzhu1 Date: Tue, 24 Jun 2025 21:38:46 +0800 Subject: [PATCH] fs/vfs: clear filep when call file_open/file_mq_open to avoid random value fix crash caused by stack random value Signed-off-by: dongjiuzhu1 --- fs/mqueue/mq_open.c | 2 ++ fs/vfs/fs_open.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/fs/mqueue/mq_open.c b/fs/mqueue/mq_open.c index 683f94c1c01..9cf984a9a1c 100644 --- a/fs/mqueue/mq_open.c +++ b/fs/mqueue/mq_open.c @@ -412,6 +412,8 @@ int file_mq_open(FAR struct file *mq, va_list ap; int ret; + memset(mq, 0, sizeof(*mq)); + va_start(ap, oflags); ret = file_mq_vopen(mq, mq_name, oflags, 0, ap, NULL); va_end(ap); diff --git a/fs/vfs/fs_open.c b/fs/vfs/fs_open.c index 6f5de6a1e98..8cf86b964d6 100644 --- a/fs/vfs/fs_open.c +++ b/fs/vfs/fs_open.c @@ -366,6 +366,8 @@ int file_open(FAR struct file *filep, FAR const char *path, int oflags, ...) va_list ap; int ret; + memset(filep, 0, sizeof(*filep)); + va_start(ap, oflags); ret = file_vopen(filep, path, oflags, 0, ap); va_end(ap);