1
0
Эх сурвалжийг харах

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>
Shell 9 сар өмнө
parent
commit
20263be180

+ 1 - 2
components/lwp/lwp_syscall.c

@@ -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);