mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-08-22 01:57:43 +00:00
POSIX states that d_name has up to NAME_MAX (255) characters, and glibc stores d_name as an array of size NAME_MAX+1 (256). Thus, supplying PATH_MAX (4096) as the max length could trigger a buffer overrun. This could be an even bigger issue on other libcs, as POSIX states that d_name can be unsized. Fortunately, this does not seem to cause actual issues, as the length is only used to compare d_name to a short fixed string. However, it'd be better to pass the actual correct max length to strnlen. Signed-off-by: Ryan Lee <ryan.lee@canonical.com>