diff options
author | Ted Unangst <tedu@cvs.openbsd.org> | 2003-06-23 22:27:10 +0000 |
---|---|---|
committer | Ted Unangst <tedu@cvs.openbsd.org> | 2003-06-23 22:27:10 +0000 |
commit | 79e7f0d2c524484d10d0b11cc4b878d7ebaec533 (patch) | |
tree | bff5b9de192273f6376201d3634e2dbee55597c6 | |
parent | 943ad3c82d880acc9851f5086b4475401e539e42 (diff) |
go back to using strncpy. for long patterns, strlcpy reads too much
of a potentially nontermined src.
-rw-r--r-- | usr.bin/grep/grep.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/grep/grep.c b/usr.bin/grep/grep.c index bc75324af47..c7abfc35e3a 100644 --- a/usr.bin/grep/grep.c +++ b/usr.bin/grep/grep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: grep.c,v 1.13 2003/06/23 22:05:23 tedu Exp $ */ +/* $OpenBSD: grep.c,v 1.14 2003/06/23 22:27:09 tedu Exp $ */ /*- * Copyright (c) 1999 James Howard and Dag-Erling Coïdan Smørgrav @@ -171,7 +171,8 @@ add_pattern(char *pat, size_t len) if (pat[len - 1] == '\n') --len; pattern[patterns] = grep_malloc(len + 1); - strlcpy(pattern[patterns], pat, len + 1); + strncpy(pattern[patterns], pat, len); + pattern[patterns][len] = '\0'; ++patterns; if (len > maxPatternLen) |