Commit bc08fa3b95f for php.net
commit bc08fa3b95f3590352da63bb7cf8ab5293aa45db
Author: Marc Bennewitz <marc-mabe@users.noreply.github.com>
Date: Sun Nov 16 15:41:00 2025 +0100
ext/bz2: use `uint64_t` type instead of conditional defined code
diff --git a/ext/bz2/bz2.c b/ext/bz2/bz2.c
index e7491f12cf3..200f2fdbf1a 100644
--- a/ext/bz2/bz2.c
+++ b/ext/bz2/bz2.c
@@ -504,11 +504,7 @@ PHP_FUNCTION(bzdecompress)
size_t source_len;
int error;
bool small = 0;
-#ifdef PHP_WIN32
- unsigned __int64 size = 0;
-#else
- unsigned long long size = 0;
-#endif
+ uint64_t size = 0;
bz_stream bzs;
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "s|b", &source, &source_len, &small)) {
@@ -535,26 +531,22 @@ PHP_FUNCTION(bzdecompress)
/* compression is better then 2:1, need to allocate more memory */
bzs.avail_out = source_len;
size = (bzs.total_out_hi32 * (unsigned int) -1) + bzs.total_out_lo32;
-#ifndef ZEND_ENABLE_ZVAL_LONG64
- if (size > SIZE_MAX) {
+ if (UNEXPECTED(size > SIZE_MAX)) {
/* no reason to continue if we're going to drop it anyway */
break;
}
-#endif
+
dest = zend_string_safe_realloc(dest, 1, bzs.avail_out+1, (size_t) size, 0);
bzs.next_out = ZSTR_VAL(dest) + size;
}
if (error == BZ_STREAM_END || error == BZ_OK) {
size = (bzs.total_out_hi32 * (unsigned int) -1) + bzs.total_out_lo32;
-#ifndef ZEND_ENABLE_ZVAL_LONG64
if (UNEXPECTED(size > SIZE_MAX)) {
- php_error_docref(NULL, E_WARNING, "Decompressed size too big, max is %zd", SIZE_MAX);
+ php_error_docref(NULL, E_WARNING, "Decompressed size too big, max is %zu", SIZE_MAX);
zend_string_efree(dest);
RETVAL_LONG(BZ_MEM_ERROR);
- } else
-#endif
- {
+ } else {
dest = zend_string_safe_realloc(dest, 1, (size_t)size, 1, 0);
ZSTR_LEN(dest) = (size_t)size;
ZSTR_VAL(dest)[(size_t)size] = '\0';