php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #24243 Browscap causes segfault
Submitted: 2003-06-18 06:12 UTC Modified: 2004-01-13 13:00 UTC
Votes:4
Avg. Score:3.8 ± 0.8
Reproduced:3 of 4 (75.0%)
Same Version:1 (33.3%)
Same OS:0 (0.0%)
From: neon at neon-line dot net Assigned:
Status: Closed Package: Scripting Engine problem
PHP Version: 5CVS-2003-11-29 OS: *
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: neon at neon-line dot net
New email:
PHP Version: OS:

 

 [2003-06-18 06:12 UTC] neon at neon-line dot net
Description:
------------
Segmentation fault with php -v

Reproduce code:
---------------
php -v

Expected result:
----------------
PHP 5.0.0-dev (cli) (built: Jun 18 2003 08:06:52) (DEBUG)
Copyright (c) 1997-2003 The PHP Group
Zend Engine v2.0.0, Copyright (c) 1998-2003 Zend Technologies


Actual result:
--------------
(gdb) run -v
Starting program: /usr/home/neon/php5-200306180930/sapi/cli/php -v

Program received signal SIGSEGV, Segmentation fault.
0x810c437 in zend_hash_find (ht=0x0, arKey=0xbfbfe988 "lwp", nKeyLength=4, pData=0xbfbfe9c8) at /usr/home/neon/php5-200306180930/Zend/zend_hash.c:840
840             nIndex = h & ht->nTableMask;
(gdb) bt
#0  0x810c437 in zend_hash_find (ht=0x0, arKey=0xbfbfe988 "lwp", nKeyLength=4, pData=0xbfbfe9c8) at /usr/home/neon/php5-200306180930/Zend/zend_hash.c:840
#1  0x8100732 in zend_lookup_class (name=0xbfbfe988 "lwp", name_length=3, ce=0xbfbfe9c8) at /usr/home/neon/php5-200306180930/Zend/zend_execute_API.c:703
#2  0x80ff2b8 in zend_get_constant (name=0x81d0880 "LWP::Simple", name_len=11, result=0xbfbfea00)
    at /usr/home/neon/php5-200306180930/Zend/zend_constants.c:251
#3  0x80f71c8 in zend_ini_get_constant (result=0xbfbfea70, name=0xbfbfead0) at Zend/zend_ini_parser.c:121
#4  0x80f77a8 in ini_parse () at Zend/zend_ini_parser.c:928
#5  0x80f72ea in zend_parse_ini_file (fh=0xbfbff8f0, unbuffered_errors=1, ini_parser_cb=0x8091560 <php_browscap_parser_cb>, arg=0x8170e60)
    at Zend/zend_ini_parser.c:176
#6  0x809180c in zm_startup_browscap (type=1, module_number=2) at /usr/home/neon/php5-200306180930/ext/standard/browscap.c:165
#7  0x808cc6f in zm_startup_basic (type=1, module_number=2) at /usr/home/neon/php5-200306180930/ext/standard/basic_functions.c:1084
#8  0x8109d46 in zend_startup_module (module=0x8167460) at /usr/home/neon/php5-200306180930/Zend/zend_API.c:1126
#9  0x80ded27 in php_startup_extensions (ptr=0x816fc88, count=7) at /usr/home/neon/php5-200306180930/main/main.c:1222
#10 0x812f7b1 in php_startup_internal_extensions () at main/internal_functions_cli.c:62
#11 0x80df115 in php_module_startup (sf=0x816fbe0, additional_modules=0x0, num_additional_modules=0) at /usr/home/neon/php5-200306180930/main/main.c:1387
#12 0x812e8aa in main (argc=2, argv=0xbfbffb88) at /usr/home/neon/php5-200306180930/sapi/cli/php_cli.c:592


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-06-18 06:37 UTC] neon at neon-line dot net
Browscap causes this segfault. Without it everything goes like it should.
 [2003-06-18 11:17 UTC] jay@php.net
As a temporary fix, you can put quotation marks around 
"LWP::Simple" where it says browser=LWP::Simple in 
browscap.ini. It's the double-colons that are messing 
things up, as zend_get_constant is trying to do a class 
lookup on the lwp class, which will obviously fail. 
 
Perhaps a flag argument could be added to 
zend_get_constant to prevent checking for '::' and that 
class lookup? (Or rather, zend_get_constant_ex or whatever 
with new defines for BC?)  
 
J 
 [2003-07-16 23:35 UTC] php_bugs at garykeith dot com
As the offical source of browscap.ini for PHP I have to let you know that I'd love to modify the files I distribute to include quotes in the browser name. Unfortunately in IIS the quotes are included as part of the browser name. So as much as I'd like to help I guess we'll just have to wait for a bug fix.

-gary.
 [2004-01-13 13:00 UTC] sniper@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Tue Apr 01 03:01:29 2025 UTC