The sysctls that return process argv and envv return binary data, so clear

the SBUF_INCLUDENUL flag.

Pointed out by:	    tijl@
This commit is contained in:
Ian Lepore 2015-03-22 21:18:44 +00:00
parent 946ea17f0c
commit 296f235de0

View File

@ -1851,6 +1851,7 @@ sysctl_kern_proc_args(SYSCTL_HANDLER_ARGS)
_PHOLD(p);
PROC_UNLOCK(p);
sbuf_new_for_sysctl(&sb, NULL, GET_PS_STRINGS_CHUNK_SZ, req);
sbuf_clear_flags(&sb, SBUF_INCLUDENUL);
error = proc_getargv(curthread, p, &sb);
error2 = sbuf_finish(&sb);
PRELE(p);
@ -1903,6 +1904,7 @@ sysctl_kern_proc_env(SYSCTL_HANDLER_ARGS)
}
sbuf_new_for_sysctl(&sb, NULL, GET_PS_STRINGS_CHUNK_SZ, req);
sbuf_clear_flags(&sb, SBUF_INCLUDENUL);
error = proc_getenvv(curthread, p, &sb);
error2 = sbuf_finish(&sb);
PRELE(p);