projects
/
m6w6
/
ext-http
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
- start open_basedir checks
[m6w6/ext-http]
/
http_send_api.c
diff --git
a/http_send_api.c
b/http_send_api.c
index 9c30e6cf3d8abf527123a9c28cd2b4a51acfe9a0..cfb088ae4929d40bbdcdd93c72aff7cf324ae95d 100644
(file)
--- a/
http_send_api.c
+++ b/
http_send_api.c
@@
-456,9
+456,13
@@
PHP_HTTP_API char *_http_guess_content_type(const char *magicfile, long magicmod
char *ct = NULL;
#ifdef HTTP_HAVE_MAGIC
char *ct = NULL;
#ifdef HTTP_HAVE_MAGIC
+ struct magic_set *magic;
+
+ HTTP_CHECK_OPEN_BASEDIR(magicfile, return NULL);
+
/* magic_load() fails if MAGIC_MIME is set because it
cowardly adds .mime to the file name */
/* magic_load() fails if MAGIC_MIME is set because it
cowardly adds .mime to the file name */
-
struct magic_set *
magic = magic_open(magicmode &~ MAGIC_MIME);
+ magic = magic_open(magicmode &~ MAGIC_MIME);
if (!magic) {
http_error_ex(HE_WARNING, HTTP_E_INVALID_PARAM, "Invalid magic mode: %ld", magicmode);
if (!magic) {
http_error_ex(HE_WARNING, HTTP_E_INVALID_PARAM, "Invalid magic mode: %ld", magicmode);
@@
-487,6
+491,7
@@
PHP_HTTP_API char *_http_guess_content_type(const char *magicfile, long magicmod
break;
default:
break;
default:
+ HTTP_CHECK_OPEN_BASEDIR(data_ptr, magic_close(magic); return NULL);
ctype = magic_file(magic, data_ptr);
break;
}
ctype = magic_file(magic, data_ptr);
break;
}