9e8ecfb2f4
Some additional fixes from millert@ sprintf -> snprintf str{cat,cpy} -> strl{cat,cpy} http://marc.theaimsgroup.com/?l=bugtraq&m=105638591907836&w=2 ok naddy@
73 lines
1.8 KiB
Plaintext
73 lines
1.8 KiB
Plaintext
$OpenBSD: patch-gnats_lists_c,v 1.1 2003/08/25 23:35:06 brad Exp $
|
|
--- gnats/lists.c.orig Wed Nov 25 07:15:01 1998
|
|
+++ gnats/lists.c Wed Jul 2 13:23:13 2003
|
|
@@ -33,11 +33,13 @@ get_gnats_file (type, file)
|
|
char line[STR_MAX];
|
|
char *path = (char *) alloca (PATH_MAX);
|
|
extern int doret;
|
|
+ size_t len;
|
|
|
|
if (file)
|
|
{
|
|
- outf = (char *) xmalloc (strlen (file) + 5);
|
|
- strcpy (outf, file);
|
|
+ len = strlen (file) + 5;
|
|
+ outf = (char *) xmalloc (len);
|
|
+ strlcpy (outf, file, len);
|
|
}
|
|
else
|
|
fpout = stdout;
|
|
@@ -45,37 +47,37 @@ get_gnats_file (type, file)
|
|
if (type == LIST_CATEGORIES)
|
|
{
|
|
if (outf)
|
|
- strcat (outf, ".cat");
|
|
+ strlcat (outf, ".cat", len);
|
|
infile = CATEGORIES;
|
|
}
|
|
else if (type == LIST_SUBMITTERS)
|
|
{
|
|
if (outf)
|
|
- strcat (outf, ".sub");
|
|
+ strlcat (outf, ".sub", len);
|
|
infile = SUBMITTERS;
|
|
}
|
|
else if (type == LIST_RESPONSIBLE)
|
|
{
|
|
if (outf)
|
|
- strcat (outf, ".res");
|
|
+ strlcat (outf, ".res", len);
|
|
infile = RESPONSIBLE_FILE;
|
|
}
|
|
else if (type == LIST_STATES)
|
|
{
|
|
if (outf)
|
|
- strcat (outf, ".sta");
|
|
+ strlcat (outf, ".sta", len);
|
|
infile = STATES;
|
|
}
|
|
else if (type == LIST_CLASSES)
|
|
{
|
|
if (outf)
|
|
- strcat (outf, ".cla");
|
|
+ strlcat (outf, ".cla", len);
|
|
infile = CLASSES;
|
|
}
|
|
else if (type == LIST_CONFIG)
|
|
{
|
|
if (outf)
|
|
- strcat (outf, ".cfg");
|
|
+ strlcat (outf, ".cfg", len);
|
|
infile = CONFIG;
|
|
}
|
|
else
|
|
@@ -126,7 +128,7 @@ get_gnats_file (type, file)
|
|
}
|
|
else
|
|
{
|
|
- sprintf (path, "%s/gnats-adm/%s", gnats_root, infile);
|
|
+ snprintf (path, PATH_MAX, "%s/gnats-adm/%s", gnats_root, infile);
|
|
fpin = fopen (path, "r");
|
|
if (fpin == (FILE *)NULL)
|
|
return -1; /* XXX */
|