[125678kqv][cl]: fix sprint() and strcpy() buffer overflows
This commit is contained in:
parent
fdeea811b7
commit
03feba8cc1
31 changed files with 784 additions and 850 deletions
|
@ -304,9 +304,7 @@ objfile(char *file)
|
|||
char *e, *start, *stop;
|
||||
|
||||
if(file[0] == '-' && file[1] == 'l') {
|
||||
sprint(name, "/%s/lib/lib", thestring);
|
||||
strcat(name, file+2);
|
||||
strcat(name, ".a");
|
||||
snprint(name, sizeof name, "/%s/lib/lib%s.a", thestring, file+2);
|
||||
file = name;
|
||||
}
|
||||
if(debug['v'])
|
||||
|
@ -364,7 +362,7 @@ objfile(char *file)
|
|||
s = lookup(e+5, 0);
|
||||
if(s->type != SXREF)
|
||||
continue;
|
||||
sprint(pname, "%s(%s)", file, s->name);
|
||||
snprint(pname, sizeof pname, "%s(%s)", file, s->name);
|
||||
if(debug['v'])
|
||||
Bprint(&bso, "%5.2f library: %s\n", cputime(), pname);
|
||||
Bflush(&bso);
|
||||
|
@ -524,17 +522,17 @@ addlib(char *obj)
|
|||
return;
|
||||
|
||||
if(histfrog[0]->name[1] == '/') {
|
||||
sprint(name, "");
|
||||
name[0] = 0;
|
||||
i = 1;
|
||||
} else
|
||||
if(histfrog[0]->name[1] == '.') {
|
||||
sprint(name, ".");
|
||||
snprint(name, sizeof name, ".");
|
||||
i = 0;
|
||||
} else {
|
||||
if(debug['9'])
|
||||
sprint(name, "/%s/lib", thestring);
|
||||
snprint(name, sizeof name, "/%s/lib", thestring);
|
||||
else
|
||||
sprint(name, "/usr/%clib", thechar);
|
||||
snprint(name, sizeof name, "/usr/%clib", thechar);
|
||||
i = 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue