Bug #960: Apache SIGSEGV hang on getallheaders()

From: Date: Mon, 30 Nov 1998 12:27:13 +0000
Subject: Bug #960: Apache SIGSEGV hang on getallheaders()
Groups: php.dev 
Request: Send a blank email to php-dev+get-2624@lists.php.net to get a copy of this message
From: michale@utko.fee.vutbr.cz Operating system: unix using libc PHP version: 3.0.5 PHP Bug Type: Reproduceable crash Bug description: Apache SIGSEGV hang on getallheaders() In case of occurence NULL strings in http headers hangs the Apache version of php3 during php3_getallheaders function. This is because add_assoc_string() internal fuction cannot handle NULL pointer strings, the libc strlen(NULL) function called from add_assoc_string has bad NULL argument. NULL value in http header is not prohibited value, Apache woks with such headers correctly. NULL header string generates e.g. mod_html module & patch (module for language encoding, mailto:lampa@fee.vutbr.cz). There is a patch to correct the problem: *** apache.c.old Mon Oct 5 02:21:36 1998 --- apache.c Mon Nov 30 11:50:28 1998 *************** *** 217,223 **** !strncasecmp(tenv[i].key, "authorization", 13))) { continue; } ! if (add_assoc_string(return_value, tenv[i].key,tenv[i].val, 1)==FAILURE) { RETURN_FALSE; } } --- 217,223 ---- !strncasecmp(tenv[i].key, "authorization", 13))) { continue; } ! if (add_assoc_string(return_value, tenv[i].key,(tenv[i].val==NULL) ? "" : tenv[i].val, 1)==FAILURE) { RETURN_FALSE; } } -- PHP Development Mailing List http://www.php.net/ To unsubscribe send an empty message to php-dev-unsubscribe@lists.php.net For help: php-dev-help@lists.php.net

« previous php.dev (#2624) next »