From: Moriyoshi Koizumi Date: Fri, 15 Nov 2002 15:13:30 +0000 (+0000) Subject: Fixed segfault in case the specified magic file cannot be read. X-Git-Tag: RELEASE_1_0b2~219 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3ecc71a0992986211abea36154c812b5fb3e6ae6;p=php Fixed segfault in case the specified magic file cannot be read. --- diff --git a/ext/mime_magic/mime_magic.c b/ext/mime_magic/mime_magic.c index 474182d181..6e5b308fb9 100644 --- a/ext/mime_magic/mime_magic.c +++ b/ext/mime_magic/mime_magic.c @@ -304,6 +304,11 @@ PHP_FUNCTION(mime_content_type) return; } + if ((int) conf->magic == -1) { + php_error(E_ERROR, MODNAME " could not be initialized, magic file %s is not avaliable", conf->magicfile); + RETURN_FALSE; + } + if(!conf->magic) { php_error(E_WARNING, MODNAME " not initialized"); RETURN_FALSE; @@ -343,10 +348,9 @@ static int apprentice(void) magic_server_config_rec *conf = &mime_global; fname = conf->magicfile; /* todo cwd? */ - f = fopen(fname, "r"); + f = fopen(fname, "rt"); if (f == NULL) { - php_error(E_WARNING, - MODNAME ": can't read magic file %s", fname); + (int) conf->magic = -1; return -1; }