diff options
author | 2002-06-22 02:13:08 +0000 | |
---|---|---|
committer | 2002-06-22 02:13:08 +0000 | |
commit | 2cab24aa6be95edf147d8769d70362d1c9a9eea7 (patch) | |
tree | d8f945d61528b0590bc60854948278af068dba28 | |
parent | correct comment (diff) | |
download | wireguard-openbsd-2cab24aa6be95edf147d8769d70362d1c9a9eea7.tar.xz wireguard-openbsd-2cab24aa6be95edf147d8769d70362d1c9a9eea7.zip |
use strtok_r() instead of strtok(); millert ok
-rw-r--r-- | lib/libc/gen/fstab.c | 31 | ||||
-rw-r--r-- | lib/libskey/put.c | 5 | ||||
-rw-r--r-- | lib/libskey/skeylogin.c | 26 | ||||
-rw-r--r-- | lib/libwrap/hosts_access.c | 15 |
4 files changed, 40 insertions, 37 deletions
diff --git a/lib/libc/gen/fstab.c b/lib/libc/gen/fstab.c index 431018414fb..1e42e9c9003 100644 --- a/lib/libc/gen/fstab.c +++ b/lib/libc/gen/fstab.c @@ -32,7 +32,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: fstab.c,v 1.10 2002/02/16 21:27:22 millert Exp $"; +static char rcsid[] = "$OpenBSD: fstab.c,v 1.11 2002/06/22 02:13:08 deraadt Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> @@ -60,7 +60,7 @@ fstabscan() #define MAXLINELENGTH 1024 static char line[MAXLINELENGTH]; char subline[MAXLINELENGTH]; - char *endp; + char *endp, *last; int typexx; long l; @@ -69,11 +69,11 @@ fstabscan() return(0); /* OLD_STYLE_FSTAB */ if (!strpbrk(cp, " \t")) { - _fs_fstab.fs_spec = strtok(cp, ":\n"); + _fs_fstab.fs_spec = strtok_r(cp, ":\n", &last); if (!_fs_fstab.fs_spec || *_fs_fstab.fs_spec == '#') continue; - _fs_fstab.fs_file = strtok((char *)NULL, ":\n"); - _fs_fstab.fs_type = strtok((char *)NULL, ":\n"); + _fs_fstab.fs_file = strtok_r((char *)NULL, ":\n", &last); + _fs_fstab.fs_type = strtok_r((char *)NULL, ":\n", &last); if (_fs_fstab.fs_type) { if (!strcmp(_fs_fstab.fs_type, FSTAB_XX)) continue; @@ -81,13 +81,14 @@ fstabscan() _fs_fstab.fs_vfstype = strcmp(_fs_fstab.fs_type, FSTAB_SW) ? "ufs" : "swap"; - if ((cp = strtok((char *)NULL, ":\n"))) { + if ((cp = strtok_r((char *)NULL, ":\n", &last))) { l = strtol(cp, &endp, 10); if (endp == cp || *endp != '\0' || l < 0 || l >= INT_MAX) goto bad; _fs_fstab.fs_freq = l; - if ((cp = strtok((char *)NULL, ":\n"))) { + if ((cp = strtok_r((char *)NULL, + ":\n", &last))) { l = strtol(cp, &endp, 10); if (endp == cp || *endp != '\0' || l < 0 || l >= INT_MAX) @@ -100,23 +101,23 @@ fstabscan() goto bad; } /* OLD_STYLE_FSTAB */ - _fs_fstab.fs_spec = strtok(cp, " \t\n"); + _fs_fstab.fs_spec = strtok_r(cp, " \t\n", &last); if (!_fs_fstab.fs_spec || *_fs_fstab.fs_spec == '#') continue; - _fs_fstab.fs_file = strtok((char *)NULL, " \t\n"); - _fs_fstab.fs_vfstype = strtok((char *)NULL, " \t\n"); - _fs_fstab.fs_mntops = strtok((char *)NULL, " \t\n"); + _fs_fstab.fs_file = strtok_r((char *)NULL, " \t\n", &last); + _fs_fstab.fs_vfstype = strtok_r((char *)NULL, " \t\n", &last); + _fs_fstab.fs_mntops = strtok_r((char *)NULL, " \t\n", &last); if (_fs_fstab.fs_mntops == NULL) goto bad; _fs_fstab.fs_freq = 0; _fs_fstab.fs_passno = 0; - if ((cp = strtok((char *)NULL, " \t\n")) != NULL) { + if ((cp = strtok_r((char *)NULL, " \t\n", &last)) != NULL) { l = strtol(cp, &endp, 10); if (endp == cp || *endp != '\0' || l < 0 || l >= INT_MAX) goto bad; _fs_fstab.fs_freq = l; - if ((cp = strtok((char *)NULL, " \t\n")) != NULL) { + if ((cp = strtok_r((char *)NULL, " \t\n", &last)) != NULL) { l = strtol(cp, &endp, 10); if (endp == cp || *endp != '\0' || l < 0 || l >= INT_MAX) @@ -125,8 +126,8 @@ fstabscan() } } strlcpy(subline, _fs_fstab.fs_mntops, sizeof subline); - for (typexx = 0, cp = strtok(subline, ","); cp; - cp = strtok((char *)NULL, ",")) { + for (typexx = 0, cp = strtok_r(subline, ",", &last); cp; + cp = strtok_r((char *)NULL, ",", &last)) { if (strlen(cp) != 2) continue; if (!strcmp(cp, FSTAB_RW)) { diff --git a/lib/libskey/put.c b/lib/libskey/put.c index 9b95a6be39c..0876138ad1b 100644 --- a/lib/libskey/put.c +++ b/lib/libskey/put.c @@ -8,7 +8,7 @@ * * Dictionary lookup and extraction. * - * $OpenBSD: put.c,v 1.11 2002/02/16 21:27:27 millert Exp $ + * $OpenBSD: put.c,v 1.12 2002/06/22 02:13:10 deraadt Exp $ */ #include <stdio.h> @@ -373,6 +373,7 @@ etob(out, e) int i, p, v, l, low, high; char b[SKEY_BINKEY_SIZE+1]; char input[36]; + char *last; if (e == NULL) return(-1); @@ -382,7 +383,7 @@ etob(out, e) (void)memset(b, 0, sizeof(b)); (void)memset(out, 0, SKEY_BINKEY_SIZE); for (i = 0, p = 0; i < 6; i++, p += 11) { - if ((word = strtok(i == 0 ? input : NULL, " ")) == NULL) + if ((word = strtok_r(i == 0 ? input : NULL, " ", &last)) == NULL) return(-1); l = strlen(word); diff --git a/lib/libskey/skeylogin.c b/lib/libskey/skeylogin.c index c967b661241..b8533ca4fd6 100644 --- a/lib/libskey/skeylogin.c +++ b/lib/libskey/skeylogin.c @@ -10,7 +10,7 @@ * * S/Key verification check, lookups, and authentication. * - * $OpenBSD: skeylogin.c,v 1.45 2002/05/24 21:32:56 deraadt Exp $ + * $OpenBSD: skeylogin.c,v 1.46 2002/06/22 02:13:10 deraadt Exp $ */ #include <sys/param.h> @@ -89,7 +89,7 @@ skeylookup(mp, name) { struct stat statbuf; size_t nread; - char *cp, filename[PATH_MAX]; + char *cp, filename[PATH_MAX], *last; FILE *keyfile; int fd; @@ -141,19 +141,19 @@ skeylookup(mp, name) goto bad_keyfile; mp->buf[nread - 1] = '\0'; - if ((mp->logname = strtok(mp->buf, " \t\n\r")) == NULL || + if ((mp->logname = strtok_r(mp->buf, " \t\n\r", &last)) == NULL || strcmp(mp->logname, name) != 0) goto bad_keyfile; - if ((cp = strtok(NULL, " \t\n\r")) == NULL) + if ((cp = strtok_r(NULL, " \t\n\r", &last)) == NULL) goto bad_keyfile; if (skey_set_algorithm(cp) == NULL) goto bad_keyfile; - if ((cp = strtok(NULL, " \t\n\r")) == NULL) + if ((cp = strtok_r(NULL, " \t\n\r", &last)) == NULL) goto bad_keyfile; mp->n = atoi(cp); /* XXX - use strtol() */ - if ((mp->seed = strtok(NULL, " \t\n\r")) == NULL) + if ((mp->seed = strtok_r(NULL, " \t\n\r", &last)) == NULL) goto bad_keyfile; - if ((mp->val = strtok(NULL, " \t\n\r")) == NULL) + if ((mp->val = strtok_r(NULL, " \t\n\r", &last)) == NULL) goto bad_keyfile; (void)fseek(keyfile, 0L, SEEK_SET); @@ -232,7 +232,7 @@ skeyverify(mp, response) char fkey[SKEY_BINKEY_SIZE]; char filekey[SKEY_BINKEY_SIZE]; size_t nread; - char *cp; + char *cp, *last; if (response == NULL) goto verify_failure; @@ -262,15 +262,15 @@ skeyverify(mp, response) if ((nread = fread(mp->buf, 1, sizeof(mp->buf), mp->keyfile)) == 0 || !isspace(mp->buf[nread - 1])) goto verify_failure; - if ((mp->logname = strtok(mp->buf, " \t\r\n")) == NULL) + if ((mp->logname = strtok_r(mp->buf, " \t\r\n", &last)) == NULL) goto verify_failure; - if ((cp = strtok(NULL, " \t\r\n")) == NULL) + if ((cp = strtok_r(NULL, " \t\r\n", &last)) == NULL) goto verify_failure; - if ((cp = strtok(NULL, " \t\r\n")) == NULL) + if ((cp = strtok_r(NULL, " \t\r\n", &last)) == NULL) goto verify_failure; - if ((mp->seed = strtok(NULL, " \t\r\n")) == NULL) + if ((mp->seed = strtok_r(NULL, " \t\r\n", &last)) == NULL) goto verify_failure; - if ((mp->val = strtok(NULL, " \t\r\n")) == NULL) + if ((mp->val = strtok_r(NULL, " \t\r\n", &last)) == NULL) goto verify_failure; /* Convert file value to hex and compare. */ diff --git a/lib/libwrap/hosts_access.c b/lib/libwrap/hosts_access.c index 1043d6d811f..f172cffbc0e 100644 --- a/lib/libwrap/hosts_access.c +++ b/lib/libwrap/hosts_access.c @@ -1,4 +1,4 @@ -/* $OpenBSD: hosts_access.c,v 1.8 2002/06/07 03:32:04 itojun Exp $ */ +/* $OpenBSD: hosts_access.c,v 1.9 2002/06/22 02:13:12 deraadt Exp $ */ /* * This module implements a simple access control language that is based on @@ -23,7 +23,7 @@ #if 0 static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22"; #else -static char rcsid[] = "$OpenBSD: hosts_access.c,v 1.8 2002/06/07 03:32:04 itojun Exp $"; +static char rcsid[] = "$OpenBSD: hosts_access.c,v 1.9 2002/06/22 02:13:12 deraadt Exp $"; #endif #endif @@ -199,7 +199,7 @@ char *list; struct request_info *request; int (*match_fn)(char *, struct request_info *); { - char *tok; + char *tok, *last; int l; /* @@ -209,7 +209,8 @@ int (*match_fn)(char *, struct request_info *); * the match is affected by any exceptions. */ - for (tok = strtok(list, sep); tok != 0; tok = strtok((char *) 0, sep)) { + for (tok = strtok_r(list, sep, &last); tok != 0; + tok = strtok_r(NULL, sep, &last)) { if (STR_EQ(tok, "EXCEPT")) /* EXCEPT: give up */ return (NO); l = strlen(tok); @@ -218,9 +219,9 @@ int (*match_fn)(char *, struct request_info *); tok++; } if (match_fn(tok, request)) { /* YES: look for exceptions */ - while ((tok = strtok((char *) 0, sep)) && STR_NE(tok, "EXCEPT")) + while ((tok = strtok_r(NULL, sep, &last)) && STR_NE(tok, "EXCEPT")) /* VOID */ ; - return (tok == 0 || list_match((char *) 0, request, match_fn) == 0); + return (tok == 0 || list_match(NULL, request, match_fn) == 0); } } return (NO); @@ -280,7 +281,7 @@ struct host_info *host; static char mydomain[MAXHOSTNAMELEN]; if (mydomain[0] == '\0') getdomainname(mydomain, sizeof(mydomain)); - return (innetgr(tok + 1, eval_hostname(host), (char *) 0, mydomain)); + return (innetgr(tok + 1, eval_hostname(host), NULL, mydomain)); #else tcpd_warn("netgroup support is disabled"); /* not tcpd_jump() */ return (NO); |