diff options
Diffstat (limited to 'src/lib/libc/string/__strsignal.c')
| -rw-r--r-- | src/lib/libc/string/__strsignal.c | 12 | 
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/libc/string/__strsignal.c b/src/lib/libc/string/__strsignal.c index 5a424bfde2..53c9e59e59 100644 --- a/src/lib/libc/string/__strsignal.c +++ b/src/lib/libc/string/__strsignal.c  | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | */ | 32 | */ | 
| 33 | 33 | ||
| 34 | #if defined(LIBC_SCCS) && !defined(lint) | 34 | #if defined(LIBC_SCCS) && !defined(lint) | 
| 35 | static char *rcsid = "$OpenBSD: __strsignal.c,v 1.3 1996/09/16 05:43:39 tholo Exp $"; | 35 | static char *rcsid = "$OpenBSD: __strsignal.c,v 1.4 1996/09/25 08:17:31 deraadt Exp $"; | 
| 36 | #endif /* LIBC_SCCS and not lint */ | 36 | #endif /* LIBC_SCCS and not lint */ | 
| 37 | 37 | ||
| 38 | #ifdef NLS | 38 | #ifdef NLS | 
| @@ -79,18 +79,20 @@ __strsignal(num, buf) | |||
| 79 | signum = num; /* convert to unsigned */ | 79 | signum = num; /* convert to unsigned */ | 
| 80 | if (signum < NSIG) { | 80 | if (signum < NSIG) { | 
| 81 | #ifdef NLS | 81 | #ifdef NLS | 
| 82 | strcpy(buf, catgets(catd, 2, signum, | 82 | strncpy(buf, catgets(catd, 2, signum, | 
| 83 | (char *)sys_siglist[signum])); | 83 | (char *)sys_siglist[signum]), NL_TEXTMAX-1); | 
| 84 | buf[NL_TEXTMAX-1] = '\0'; | ||
| 84 | #else | 85 | #else | 
| 85 | return((char *)sys_siglist[signum]); | 86 | return((char *)sys_siglist[signum]); | 
| 86 | #endif | 87 | #endif | 
| 87 | } else { | 88 | } else { | 
| 88 | #ifdef NLS | 89 | #ifdef NLS | 
| 89 | strcpy(buf, catgets(catd, 1, 0xffff, UPREFIX)); | 90 | strncpy(buf, catgets(catd, 1, 0xffff, UPREFIX), NL_TEXTMAX-1); | 
| 91 | buf[NL_TEXTMAX-1] = '\0'; | ||
| 90 | #else | 92 | #else | 
| 91 | strcpy(buf, UPREFIX); | 93 | strcpy(buf, UPREFIX); | 
| 92 | #endif | 94 | #endif | 
| 93 | strcat(buf, itoa(signum)); | 95 | strncat(buf, itoa(signum), NL_TEXTMAX-strlen(buf)-1); | 
| 94 | } | 96 | } | 
| 95 | 97 | ||
| 96 | #ifdef NLS | 98 | #ifdef NLS | 
