git: 9b48cb8e89c8 - stable/14 - libprocstat: make sv_name not static
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 26 Oct 2023 17:37:35 UTC
The branch stable/14 has been updated by brooks:
URL: https://cgit.FreeBSD.org/src/commit/?id=9b48cb8e89c86128c1d9d89eea67ef4b28a38c52
commit 9b48cb8e89c86128c1d9d89eea67ef4b28a38c52
Author: Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2023-10-16 16:53:11 +0000
Commit: Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2023-10-25 23:30:51 +0000
libprocstat: make sv_name not static
Making this variable static makes is_elf32_sysctl() and callers thread
unsafe.
Use a less absurd length for sv_name. The longest name in the system is
"FreeBSD ELF64 V2" which tips the scales at 16+1 bytes. We'll almost
certainly have other problems if we exceed 32 characters.
Reviewed by: markj
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D42199
(cherry picked from commit 72a4ee26a7c665ae1c31abe1c6feeaa7ccaba140)
---
lib/libprocstat/libprocstat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/libprocstat/libprocstat.c b/lib/libprocstat/libprocstat.c
index e5481c53eea1..84502bb895b7 100644
--- a/lib/libprocstat/libprocstat.c
+++ b/lib/libprocstat/libprocstat.c
@@ -2392,7 +2392,7 @@ is_elf32_sysctl(pid_t pid)
{
int error, name[4];
size_t len, i;
- static char sv_name[256];
+ char sv_name[32];
name[0] = CTL_KERN;
name[1] = KERN_PROC;