/usr/src/lib/libc/string/strsignal.c:96
Maxime Henrion
mux at FreeBSD.org
Sat Mar 5 16:27:57 PST 2005
Sean McNeil wrote:
> Hi folks,
>
> It looks like strsignal is busted. All I have to do is hit ctrl-c while
> running gmake and I get this core:
>
> #0 strsignal (num=2) at /usr/src/lib/libc/string/strsignal.c:96
> ebuf = "Interrupt", '\0' <repeats 2038 times>
> tmp = "2\000\000\000\000\000\000\000\002\000\000\000\000\000\000
> \000\000\000\000"
> signum = 0
> n = 4326031
> t = 0x7fffffffd151 ""
> p = 0x800d5b82f <Address 0x800d5b82f out of bounds>
>
> This is because n is uninitialized when num > 0 && num < sys_nsig.
Indeed. Can you confirm that this patch fixes the problem?
%%
--- strsignal.c.orig Tue Mar 1 20:28:14 2005
+++ strsignal.c Sun Mar 6 01:24:18 2005
@@ -64,7 +64,7 @@
#endif
if (num > 0 && num < sys_nsig) {
- strlcpy(ebuf,
+ n = strlcpy(ebuf,
#if defined(NLS)
catgets(catd, 2, num, sys_siglist[num]),
#else
%%
Cheers,
Maxime
More information about the freebsd-current
mailing list