On 11/6/25 06:51, Thorsten Blum wrote:
strcpy() is deprecated; replace it with a direct '/' assignment. The
buffer is already NUL-terminated, so there is no need to copy an
additional NUL terminator as strcpy() did.

Update the comment and add the local variable 'is_root' for clarity.

Link: https://github.com/KSPP/linux/issues/88
Signed-off-by: Thorsten Blum <[email protected]>

hey Thorsten,

sorry I have just been swamped, and traveling, ...
I will start on the patch backlog tonight

---
  security/apparmor/path.c | 13 ++++++++-----
  1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/security/apparmor/path.c b/security/apparmor/path.c
index d6c74c357ffd..65a0ca5cc1bd 100644
--- a/security/apparmor/path.c
+++ b/security/apparmor/path.c
@@ -164,12 +164,15 @@ static int d_namespace_path(const struct path *path, char 
*buf, char **name,
        }
out:
-       /*
-        * Append "/" to the pathname.  The root directory is a special
-        * case; it already ends in slash.
+       /* Append "/" to directory paths, except for root "/" which
+        * already ends in a slash.
         */
-       if (!error && isdir && ((*name)[1] != '\0' || (*name)[0] != '/'))
-               strcpy(&buf[aa_g_path_max - 2], "/");
+       if (!error && isdir) {
+               bool is_root = (*name)[0] == '/' && (*name)[1] == '\0';
+
+               if (!is_root)
+                       buf[aa_g_path_max - 2] = '/';
+       }
return error;
  }


Reply via email to