From 3ecc71a0992986211abea36154c812b5fb3e6ae6 Mon Sep 17 00:00:00 2001 From: Moriyoshi Koizumi Date: Fri, 15 Nov 2002 15:13:30 +0000 Subject: [PATCH] Fixed segfault in case the specified magic file cannot be read. --- ext/mime_magic/mime_magic.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ext/mime_magic/mime_magic.c b/ext/mime_magic/mime_magic.c index 474182d181b..6e5b308fb9f 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; }