[php-src] Issue #18901: integer overflow mb_split

From: Date: Sun, 22 Jun 2025 06:21:35 +0000
Subject: [php-src] Issue #18901: integer overflow mb_split
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-250298@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/18901 Author: YuanchengJiang ### Description The following code: ```php <?php define("MAX_64Bit", 9223372036854775807); define("MAX_32Bit", 2147483647); define("MIN_64Bit", -9223372036854775807 - 1); define("MIN_32Bit", -2147483647 - 1); $longVals = array( MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1 ); $otherVals = array(0, 1, -1, 7, 9, 65, -44, MAX_32Bit, MIN_32Bit, MAX_64Bit, MIN_64Bit); foreach ($longVals as $longVal) { foreach($otherVals as $otherVal) { } } $fusion = $otherVal; try {mb_split($fusion,$fusion,$otherVal);} catch (Exception $e) { echo($e); } ``` Resulted in this output: ``` /home/phpfuzz/WorkSpace/flowfusion/php-src/ext/mbstring/php_mbregex.c:1217:5: runtime error: signed integer overflow: -9223372036854775808 - 1 cannot be represented in type 'zend_long' (aka 'long') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/phpfuzz/WorkSpace/flowfusion/php-src/ext/mbstring/php_mbregex.c:1217:5 in ``` To reproduce: ``` ./php-src/sapi/cli/php ./test.php ``` Commit: ``` be70f42de7c9ec0e6158ce9ec9d21f0dac24897f ``` Configurations: ``` CC="clang-12" CXX="clang++-12" CFLAGS="-DZEND_VERIFY_TYPE_INFERENCE" CXXFLAGS="-DZEND_VERIFY_TYPE_INFERENCE" ./configure --enable-debug --enable-address-sanitizer --enable-undefined-sanitizer --enable-re2c-cgoto --enable-fpm --enable-litespeed --enable-phpdbg-debug --enable-zts --enable-bcmath --enable-calendar --enable-dba --enable-dl-test --enable-exif --enable-ftp --enable-gd --enable-gd-jis-conv --enable-mbstring --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-zend-test --with-zlib --with-bz2 --with-curl --with-enchant --with-gettext --with-gmp --with-mhash --with-ldap --with-libedit --with-readline --with-snmp --with-sodium --with-xsl --with-zip --with-mysqli --with-pdo-mysql --with-pdo-pgsql --with-pgsql --with-sqlite3 --with-pdo-sqlite --with-webp --with-jpeg --with-freetype --enable-sigchild --with-readline --with-pcre-jit --with-iconv ``` Operating System: ``` Ubuntu 20.04 Host, Docker 0599jiangyc/flowfusion:latest ``` *This report is automatically generated by [FlowFusion](https://github.com/php/flowfusion)* ### PHP Version ```plain be70f42de7c9ec0e6158ce9ec9d21f0dac24897f ``` ### Operating System _No response_

« previous php.bugs (#250298) next »