diff options
author | 2004-01-20 06:06:48 +0000 | |
---|---|---|
committer | 2004-01-20 06:06:48 +0000 | |
commit | 36d916d1212c9ab9fbaead1598459208e8b21625 (patch) | |
tree | 7f6901b3fd2279e40e165fefe8344bfa14277868 /lib/libc | |
parent | some pieces of ufs2. help testing otto sturm (diff) | |
download | wireguard-openbsd-36d916d1212c9ab9fbaead1598459208e8b21625.tar.xz wireguard-openbsd-36d916d1212c9ab9fbaead1598459208e8b21625.zip |
Fix the example code. The loop invariant 'i' was not bound by MAXTOKENS
which could result in writing a NUL byte outside of tokens[]. A fix, from
Patrick Latifi, is to move the increment into the "i < MAXTOKENS - 1" block.
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/string/strtok.3 | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libc/string/strtok.3 b/lib/libc/string/strtok.3 index bdf28f68f6d..29eea4847e9 100644 --- a/lib/libc/string/strtok.3 +++ b/lib/libc/string/strtok.3 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $OpenBSD: strtok.3,v 1.16 2003/06/02 20:18:38 millert Exp $ +.\" $OpenBSD: strtok.3,v 1.17 2004/01/20 06:06:48 millert Exp $ .\" .Dd June 29, 1991 .Dt STRTOK 3 @@ -104,9 +104,9 @@ int i = 0; snprintf(s, sizeof(s), "cat dog horse cow"); for ((p = strtok_r(s, " ", &last)); p; - (p = strtok_r(NULL, " ", &last)), i++) { + (p = strtok_r(NULL, " ", &last))) { if (i < MAXTOKENS - 1) - tokens[i] = p; + tokens[i++] = p; } tokens[i] = NULL; .Ed |