cvs: php-src /ext/mime_magic mime_magic.c
| From: | Ilia Alshanetsky | Date: | Sun, 26 Nov 2006 17:03:15 +0000 |
| Subject: | cvs: php-src /ext/mime_magic mime_magic.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-41741@lists.php.net to get a copy of this message | ||
iliaa Sun Nov 26 17:03:15 2006 UTC
Modified files:
/php-src/ext/mime_magic mime_magic.c
Log:
MFB: Fixed bug #39623 (thread safety fixes on *nix for mime_magic extenion).
http://cvs.php.net/viewvc.cgi/php-src/ext/mime_magic/mime_magic.c?r1=1.50&r2=1.51&diff_format=u
Index: php-src/ext/mime_magic/mime_magic.c
diff -u php-src/ext/mime_magic/mime_magic.c:1.50 php-src/ext/mime_magic/mime_magic.c:1.51
--- php-src/ext/mime_magic/mime_magic.c:1.50 Sun Oct 8 13:34:22 2006
+++ php-src/ext/mime_magic/mime_magic.c Sun Nov 26 17:03:15 2006
@@ -15,7 +15,7 @@
| Author: Hartmut Holzgraefe <hholzgra@php.net> |
+----------------------------------------------------------------------+
- $Id: mime_magic.c,v 1.50 2006/10/08 13:34:22 bjori Exp $
+ $Id: mime_magic.c,v 1.51 2006/11/26 17:03:15 iliaa Exp $
This module contains a lot of stuff taken from Apache mod_mime_magic,
so the license section is a little bit longer than usual:
@@ -1388,6 +1388,7 @@
char *token;
register struct names *p;
int small_nbytes;
+ char *strtok_buf = NULL;
/* these are easy, do them first */
@@ -1420,8 +1421,7 @@
s = (unsigned char *) memcpy(nbuf, buf, small_nbytes);
s[small_nbytes] = '\0';
has_escapes = (memchr(s, '\033', small_nbytes) != NULL);
- /* XXX: not multithread safe */
- while ((token = strtok((char *) s, " \t\n\r\f")) != NULL) {
+ while ((token = php_strtok_r((char *) s, " \t\n\r\f", &strtok_buf)) != NULL) {
s = NULL; /* make strtok() keep on tokin' */
for (p = names; p < names + NNAMES; p++) {
if (STREQ(p->name, token)) {