fixup: smart: uninitialized buffer on mount(2) (#9636)

The `struct stat` object used inside mount(2) is uninitialized, which
can lead to undefined behavior during running

Changes:
- Set zero to buffer before calling to stat()

Signed-off-by: Shell <smokewood@qq.com>
This commit is contained in:
Shell 2024-11-12 21:11:50 +08:00 committed by GitHub
parent ddf42bad82
commit 20263be180
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 1 additions and 2 deletions

View File

@ -5767,6 +5767,7 @@ sysret_t sys_mount(char *source, char *target,
size_t len_filesystemtype, copy_len_filesystemtype;
char *tmp = NULL;
int ret = 0;
struct stat buf = {0};
len_source = lwp_user_strlen(source);
if (len_source <= 0)
@ -5805,8 +5806,6 @@ sysret_t sys_mount(char *source, char *target,
copy_source = NULL;
}
struct stat buf;
if (copy_source && stat(copy_source, &buf) && S_ISBLK(buf.st_mode))
{
char *dev_fullpath = dfs_normalize_path(RT_NULL, copy_source);