php / php/php-src

Iterating on ResourceBundle (using keys) causes segmentation fault

Aperta
#17,317 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@devnexen ci sta già lavorando.

Dal 1/1/2025.

  • #17318 di @devnexen — chiusa senza merge
  • #17323 di @ndossche — aperta
Bug Extension: intl Status: Verified
Lingua principale
C
Stelle
40.4k
Fork
8.1k
Merge medio
2g 13h
PR unite (30g)
96

Descrizione

Description

The following code:

<?php
foreach ((new ResourceBundle('', NULL))->get('calendar')->get('buddhist') as $key => $value)
    ;

Resulted in:

(segfault)

But I expected:

(no segfault)

On my Windows machine (ICU 75.1), but not only (apparently).

Details
php_intl!resourcebundle_iterator_key+39 [D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\ext\intl\resourcebundle\resourcebundle_iterator.c @ 107 + e]     0000193`c365e280     0000193`c36900c0     0000000`00130000     0000000`00000000   D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\ext\intl\resourcebundle\resourcebundle_iterator.c @ 107 + e 
php8!zend_fe_fetch_object_helper_SPEC+e6 [D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\Zend\zend_vm_execute.h @ 2981]     0000000`00000000     0000000`00000001     0000000`00000000     0000193`c36142e0   D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\Zend\zend_vm_execute.h @ 2981 
php8!ZEND_FE_FETCH_R_SPEC_VAR_HANDLER+25 [D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\Zend\zend_vm_execute.h @ 23002 + 8]     0000193`c3614400     0000193`c36142e0     0000000`00000000     0000000`00130000   D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\Zend\zend_vm_execute.h @ 23002 + 8 
php8!execute_ex+4f [D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\Zend\zend_vm_execute.h @ 58584 + f]     0000000`00000000     0000000`00000000     000e820`678f0d01     0000193`c1770150   D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\Zend\zend_vm_execute.h @ 58584 + f 
php8!zend_execute+140 [D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\Zend\zend_vm_execute.h @ 64238]     6328a15`6eea3000     0000193`c3602400     0000193`c366a180     0000000`00000000   D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\Zend\zend_vm_execute.h @ 64238 
php8!zend_execute_script+201 [D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\Zend\zend.c @ 1935]     0000000`00000000     0000000`00000000     000008c`223fd0d0     0000193`c3602418   D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\Zend\zend.c @ 1935 
php8!php_execute_script_ex+277 [D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\main\main.c @ 2574 + 14]     0000000`00000002     0000000`00000000     0000000`00000002     0000000`00000005   D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\main\main.c @ 2574 + 14 
php!do_cli+c28 [D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\sapi\cli\php_cli.c @ 937]     0000000`00000005     0000000`00000004     0000000`00000005     0000193`c585cec0   D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\sapi\cli\php_cli.c @ 937 
php!main+401 [D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\sapi\cli\php_cli.c @ 1310 + 5]     0000000`00000000     0007ff7`ec55c529     0000193`c177dc80     0000000`00000000   D:\a\php-ftw\php-ftw\php\vs16\x64\php-8.4.1\sapi\cli\php_cli.c @ 1310 + 5 
php!__scrt_common_main_seh+10c [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288 + 22]     0000000`00000000     0000000`00000000     0000000`00000000     0000000`00000000   D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288 + 22 
kernel32!BaseThreadInitThunk+1d     0000000`00000000     0000000`00000000     0000000`00000000     0000000`00000000    
ntdll!RtlUserThreadStart+28 
PHP Version

PHP 8.4.1

Operating System

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.