Quellcode durchsuchen

[dfsv2] fixup out-of-memory access (#8973)

This change addresses a potential out-of-memory access issue in the
devfs filesystem component. The issue arises when the `rt_malloc`
function allocates memory for a path string without accounting for
the null terminator, leading to undefined behavior.

As the manual documented:

> DESCRIPTION
>   The strlen() function calculates the length of the string pointed to
>   by s, excluding the terminating null byte ('\0').

To fix this, the memory allocation size was increased by one byte
to ensure space for the null terminator. This prevents potential
out-of-memory access and ensures proper string termination.

Signed-off-by: Shell <smokewood@qq.com>
Shell vor 11 Monaten
Ursprung
Commit
5f947863b4
1 geänderte Dateien mit 1 neuen und 1 gelöschten Zeilen
  1. 1 1
      components/dfs/dfs_v2/filesystems/devfs/devfs.c

+ 1 - 1
components/dfs/dfs_v2/filesystems/devfs/devfs.c

@@ -427,7 +427,7 @@ mode_t dfs_devfs_device_to_mode(struct rt_device *device)
 static void dfs_devfs_mkdir(const char *fullpath, mode_t mode)
 {
     int len = rt_strlen(fullpath);
-    char *path = (char *)rt_malloc(len);
+    char *path = (char *)rt_malloc(len + 1);
 
     if (path)
     {