summary refs log tree commit diff
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2015-10-09 11:01:04 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2015-10-09 11:01:04 +0200
commitad006918a570da32457461a5e59289b611d9a732 (patch)
tree18559683296ddeddd0b3d43256ac05424ae8362a
parent35b3c67ac285f0c488b0d3042a1bbc44ef4f1f67 (diff)
Avoid use of non-reentrant functions
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--shared.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/shared.c b/shared.c
index 3d91a76..e216c64 100644
--- a/shared.c
+++ b/shared.c
@@ -563,7 +563,7 @@ char *expand_macros(const char *txt)
 
 char *get_mimetype_for_filename(const char *filename)
 {
-	char *ext, *mimetype, *token, line[1024];
+	char *ext, *mimetype, *token, line[1024], *saveptr;
 	FILE *file;
 	struct string_list_item *mime;
 
@@ -588,8 +588,8 @@ char *get_mimetype_for_filename(const char *filename)
 	while (fgets(line, sizeof(line), file)) {
 		if (!line[0] || line[0] == '#')
 			continue;
-		mimetype = strtok(line, " \t\r\n");
-		while ((token = strtok(NULL, " \t\r\n"))) {
+		mimetype = strtok_r(line, " \t\r\n", &saveptr);
+		while ((token = strtok_r(NULL, " \t\r\n", &saveptr))) {
 			if (!strcasecmp(ext, token)) {
 				fclose(file);
 				return xstrdup(mimetype);