summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2002-06-22 02:13:08 +0000
committerderaadt <deraadt@openbsd.org>2002-06-22 02:13:08 +0000
commit2cab24aa6be95edf147d8769d70362d1c9a9eea7 (patch)
treed8f945d61528b0590bc60854948278af068dba28
parentcorrect comment (diff)
downloadwireguard-openbsd-2cab24aa6be95edf147d8769d70362d1c9a9eea7.tar.xz
wireguard-openbsd-2cab24aa6be95edf147d8769d70362d1c9a9eea7.zip
use strtok_r() instead of strtok(); millert ok
-rw-r--r--lib/libc/gen/fstab.c31
-rw-r--r--lib/libskey/put.c5
-rw-r--r--lib/libskey/skeylogin.c26
-rw-r--r--lib/libwrap/hosts_access.c15
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);