diff options
author | luigi <luigi@FreeBSD.org> | 2010-04-12 08:27:53 +0000 |
---|---|---|
committer | luigi <luigi@FreeBSD.org> | 2010-04-12 08:27:53 +0000 |
commit | 32deede1ae92ec5fa439ba6b94a479b6de2fe40b (patch) | |
tree | cc03e527a6bfb09b0772ebfbfa17be4446c02b58 /sbin/ipfw/main.c | |
parent | ca17a8f176620a37782967332eb08b0f5e2ee182 (diff) | |
download | FreeBSD-src-32deede1ae92ec5fa439ba6b94a479b6de2fe40b.zip FreeBSD-src-32deede1ae92ec5fa439ba6b94a479b6de2fe40b.tar.gz |
fix a buffer overflow with large (100k+) number of input lines.
MFC after: 3 days
Diffstat (limited to 'sbin/ipfw/main.c')
-rw-r--r-- | sbin/ipfw/main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sbin/ipfw/main.c b/sbin/ipfw/main.c index cd39cf1..43693e0 100644 --- a/sbin/ipfw/main.c +++ b/sbin/ipfw/main.c @@ -553,11 +553,11 @@ ipfw_readfile(int ac, char *av[]) } while (fgets(buf, BUFSIZ, f)) { /* read commands */ - char linename[10]; + char linename[20]; char *args[2]; lineno++; - sprintf(linename, "Line %d", lineno); + snprintf(linename, sizeof(linename), "Line %d", lineno); setprogname(linename); /* XXX */ args[0] = progname; args[1] = buf; |