Page MenuHomeFreeBSD

D21876.id62836.diff
No OneTemporary

D21876.id62836.diff

Index: sys/kern/vfs_subr.c
===================================================================
--- sys/kern/vfs_subr.c
+++ sys/kern/vfs_subr.c
@@ -354,12 +354,12 @@
if (req->newlen > PATH_MAX)
return (E2BIG);
- buf = malloc(PATH_MAX + 1, M_TEMP, M_WAITOK);
+ buf = malloc(PATH_MAX, M_TEMP, M_WAITOK);
error = SYSCTL_IN(req, buf, req->newlen);
if (error != 0)
goto out;
- buf[req->newlen] = '\0';
+ buf[min(req->newlen, PATH_MAX - 1)] = '\0';
ndflags = LOCKLEAF | NOFOLLOW | AUDITVNODE1 | NOCACHE | SAVENAME;
NDINIT(&nd, LOOKUP, ndflags, UIO_SYSSPACE, buf, curthread);

File Metadata

Mime Type
text/plain
Expires
Sun, Mar 1, 11:17 AM (20 h, 48 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29111185
Default Alt Text
D21876.id62836.diff (590 B)

Event Timeline