summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authormillert <millert@openbsd.org>2004-01-20 06:06:48 +0000
committermillert <millert@openbsd.org>2004-01-20 06:06:48 +0000
commit36d916d1212c9ab9fbaead1598459208e8b21625 (patch)
tree7f6901b3fd2279e40e165fefe8344bfa14277868 /lib/libc
parentsome pieces of ufs2. help testing otto sturm (diff)
downloadwireguard-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.36
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