cgit

commit ad006918a570da32457461a5e59289b611d9a732

Author: Jason A. Donenfeld <Jason@zx2c4.com>

Avoid use of non-reentrant functions

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

 shared.c | 6 +++---


diff --git a/shared.c b/shared.c
index 3d91a76ec09c8a88aefa2d1148f3542aa6850565..e216c642a4f374c4e7fce922c66c31527eb6b522 100644
--- a/shared.c
+++ b/shared.c
@@ -563,7 +563,7 @@ }
 
 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 @@ 		return NULL;
 	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);