|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2015-07-09 07:36 UTC] kalle@php.net
-Status: Open
+Status: Assigned
-Assigned To:
+Assigned To: laruence
[2015-07-09 07:36 UTC] kalle@php.net
[2015-07-09 08:18 UTC] turchanov at farpost dot com
[2015-07-09 08:41 UTC] laruence@php.net
[2015-07-09 08:41 UTC] laruence@php.net
[2015-07-09 08:41 UTC] laruence@php.net
-Status: Assigned
+Status: Closed
[2015-07-21 14:21 UTC] ab@php.net
[2016-07-20 11:37 UTC] davey@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 17:00:01 2025 UTC |
Description: ------------ make_http_soap_request at php_http.c:817 makes a call ... zend_hash_get_current_key_ex(Z_ARRVAL_P(cookies), &key, NULL, NULL); ... But implementation of zend_hash_get_current_key_ex does dereferencing of 'pos' parameter without checking it is not NULL: ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos) { uint32_t idx = *pos; /* !!!!!! */ in php 5.6.x the same function does checking: ZEND_API int zend_hash_get_current_key_ex(const HashTable *ht, char **str_index, uint *str_length, ulong *num_index, zend_bool duplicate, HashPosition *pos) { Bucket *p; p = pos ? (*pos) : ht->pInternalPointer; Actual result: -------------- Program terminated with signal 11, Segmentation fault. #0 zend_hash_get_current_key_ex (ht=0x7f908a4a04d0, str_index=0x7fff0b8eee40, num_index=0x0, pos=0x0) at /usr/src/debug/php-src-master/Zend/zend_hash.c:2032 2032 uint32_t idx = *pos; (gdb) bt #0 zend_hash_get_current_key_ex (ht=0x7f908a4a04d0, str_index=0x7fff0b8eee40, num_index=0x0, pos=0x0) at /usr/src/debug/php-src-master/Zend/zend_hash.c:2032 #1 0x00000000006fb368 in make_http_soap_request (this_ptr=<value optimized out>, buf=0x7f908a3f9318 "<?xml version=\"1.0\""..., buf_size=<value optimized out>, location=<value optimized out>, soapaction=<value optimized out>, soap_version=1, return_value=0x7f909d815050) at /usr/src/debug/php-src-master/ext/soap/php_http.c:817