blob: 86a3d3c6a4c2464896184bcc2008e1f29b648416 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
--- lib/scanargs.c.orig 1992-02-28 06:18:15.000000000 +0900
+++ lib/scanargs.c 2012-10-15 22:09:52.000000000 +0900
@@ -42,6 +42,7 @@
#include "rle_config.h"
#include <stdio.h>
+#include <string.h>
#include <ctype.h>
#ifndef USE_STDARG
#include <varargs.h>
@@ -128,10 +129,10 @@
va_list argl;
{
- register check; /* check counter to be sure all argvs
+ register int check; /* check counter to be sure all argvs
are processed */
register CONST_DECL char *cp;
- register cnt;
+ register int cnt;
int optarg = 0; /* where optional args start */
int nopt = 0;
char tmpflg, /* temp flag */
@@ -408,7 +409,8 @@
* Copy the string so we remain nondestructive
*/
s = NEW( char, strlen(argp)+1 );
- strcpy( s, argp );
+ strncpy( s, argp, sizeof(s)-1 );
+ s[sizeof(s) - 1] = '\0';
argp = s;
/*
|