Projects
home:rottame:vhosts-ng:php73
php7
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 12
View file
php7.spec
Changed
@@ -49,6 +49,13 @@ License: PHP-3.01 Group: Development/Languages/Other URL: https://secure.php.net +# Source0 is NOT the php.net tarball: it is a git archive of +# repo: https://github.com/remicollet/php-src-security +# branch: PHP-7.3-security-backports +# commit: f9e099c02fc0d8c37bd538eeaf48f4e0f3671d91 (2026-08-07) +# with the generated files missing from git copied from the original +# php.net php-7.3.33.tar.xz: aclocal.m4, Zend/zend_{language,ini}_parser.{c,h,output}, +# generated_lists, install-sh, missing, mkinstalldirs, pear/install-pear-nozlib.phar Source0: https://secure.php.net/distributions/php-%{version}.tar.xz Source1: php-suse-addons.tar.bz2 Source5: README.macros
View file
php7-CVE-2026-109618,109619.patch
Added
@@ -0,0 +1,1674 @@ +diff -ruN php-7.3.33-src/Zend/zend_API.h php-7.3.33-enh-src/Zend/zend_API.h +--- php-7.3.33/Zend/zend_API.h 2021-11-16 14:18:41.000000000 +0300 ++++ php-7.3.33/Zend/zend_API.h 2026-10-22 02:04:53.231578113 +0300 +@@ -376,6 +376,7 @@ + + #define array_init(arg) ZVAL_ARR((arg), zend_new_array(0)) + #define array_init_size(arg, size) ZVAL_ARR((arg), zend_new_array(size)) ++#define array_init_singleton(arg) ZVAL_ARR((arg), zend_new_array_singleton()) + ZEND_API int object_init(zval *arg); + ZEND_API int object_init_ex(zval *arg, zend_class_entry *ce); + ZEND_API int object_and_properties_init(zval *arg, zend_class_entry *ce, HashTable *properties); +diff -ruN php-7.3.33-src/Zend/zend_alloc.c php-7.3.33-enh-src/Zend/zend_alloc.c +--- php-7.3.33/Zend/zend_alloc.c 2021-11-16 14:18:41.000000000 +0300 ++++ php-7.3.33/Zend/zend_alloc.c 2026-10-22 02:04:53.231578113 +0300 +@@ -57,6 +57,7 @@ + #include "zend_operators.h" + #include "zend_multiply.h" + #include "zend_bitset.h" ++#include "zend_execute.h" + + #ifdef HAVE_SIGNAL_H + # include <signal.h> +@@ -358,7 +359,42 @@ + #if ZEND_DEBUG && defined(HAVE_KILL) && defined(HAVE_GETPID) + kill(getpid(), SIGSEGV); + #endif +- exit(1); ++ _exit(1); ++} ++ ++ZEND_API ZEND_COLD ZEND_NORETURN void zend_mm_safe_error_ex(const char *format, ...) ++{ ++ zend_string *script_filename = NULL; ++ uint32_t script_lineno = 0; ++ ++ if (zend_is_executing()) { ++ script_filename = zend_get_executed_filename_ex(); ++ script_lineno = zend_get_executed_lineno(); ++ } else if (zend_is_compiling()) { ++ script_filename = zend_get_compiled_filename(); ++ script_lineno = zend_get_compiled_lineno(); ++ } ++ ++ va_list args; ++ va_start(args, format); ++ ++ char buf1024; ++ vsnprintf(buf, sizeof(buf), format, args); ++ ++ va_end(args); ++ ++ fprintf(stderr, ++ "\nFatal error: %s in %s on line %d\n", ++ buf, ++ script_filename ? ZSTR_VAL(script_filename) : "Unknown", ++ script_lineno); ++ ++ /* See http://support.microsoft.com/kb/190351 */ ++# ifdef ZEND_WIN32 ++ fflush(stderr); ++# endif ++ ++ _exit(1); + } + + static ZEND_COLD ZEND_NORETURN void zend_mm_safe_error(zend_mm_heap *heap, +@@ -370,22 +406,14 @@ + #endif + size_t size) + { ++ (void) heap; + +- heap->overflow = 1; +- zend_try { +- zend_error_noreturn(E_ERROR, +- format, +- limit, +-#if ZEND_DEBUG +- filename, +- lineno, +-#endif +- size); +- } zend_catch { +- } zend_end_try(); +- heap->overflow = 0; +- zend_bailout(); +- exit(1); ++ zend_mm_safe_error_ex(format, limit, ++#if ZEND_DEBUG ++ filename, ++ lineno, ++#endif ++ size); + } + + #ifdef _WIN32 +@@ -1352,7 +1380,7 @@ + size = MAX(size, 1); + size = ZEND_MM_ALIGNED_SIZE(size) + ZEND_MM_ALIGNED_SIZE(sizeof(zend_mm_debug_info)); + if (UNEXPECTED(size < real_size)) { +- zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zu + %zu)", ZEND_MM_ALIGNED_SIZE(real_size), ZEND_MM_ALIGNED_SIZE(sizeof(zend_mm_debug_info))); ++ zend_mm_safe_error_ex("Possible integer overflow in memory allocation (%zu + %zu)", ZEND_MM_ALIGNED_SIZE(real_size), ZEND_MM_ALIGNED_SIZE(sizeof(zend_mm_debug_info))); + return NULL; + } + #endif +@@ -1800,7 +1828,7 @@ + void *ptr; + + if (UNEXPECTED(new_size < size)) { +- zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zu + %zu)", size, alignment); ++ zend_mm_safe_error_ex("Possible integer overflow in memory allocation (%zu + %zu)", size, alignment); + } + + #if ZEND_MM_LIMIT +@@ -2596,7 +2624,7 @@ + + length = strlen(s); + if (UNEXPECTED(length + 1 == 0)) { +- zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (1 * %zu + 1)", length); ++ zend_mm_safe_error_ex("Possible integer overflow in memory allocation (1 * %zu + 1)", length); + } + p = (char *) _emalloc(length + 1 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); + memcpy(p, s, length+1); +@@ -2608,7 +2636,7 @@ + char *p; + + if (UNEXPECTED(length + 1 == 0)) { +- zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (1 * %zu + 1)", length); ++ zend_mm_safe_error_ex("Possible integer overflow in memory allocation (1 * %zu + 1)", length); + } + p = (char *) _emalloc(length + 1 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); + memcpy(p, s, length); +@@ -2622,7 +2650,7 @@ + char *p; + + if (UNEXPECTED(length + 1 == 0)) { +- zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (1 * %zu + 1)", length); ++ zend_mm_safe_error_ex("Possible integer overflow in memory allocation (1 * %zu + 1)", length); + } + p = (char *) malloc(length + 1); + if (UNEXPECTED(p == NULL)) { +@@ -2901,7 +2929,7 @@ + static ZEND_COLD ZEND_NORETURN void zend_out_of_memory(void) + { + fprintf(stderr, "Out of memory\n"); +- exit(1); ++ _exit(1); + } + + ZEND_API void * __zend_malloc(size_t len) +diff -ruN php-7.3.33-src/Zend/zend_alloc.h php-7.3.33-enh-src/Zend/zend_alloc.h +--- php-7.3.33/Zend/zend_alloc.h 2021-11-16 14:18:41.000000000 +0300 ++++ php-7.3.33/Zend/zend_alloc.h 2026-10-22 02:04:53.231578113 +0300 +@@ -397,6 +397,8 @@ + + */ + ++ZEND_API ZEND_COLD ZEND_NORETURN void zend_mm_safe_error_ex(const char *format, ...); ++ + END_EXTERN_C() + + #endif +diff -ruN php-7.3.33-src/Zend/zend_execute_API.c php-7.3.33-enh-src/Zend/zend_execute_API.c +--- php-7.3.33/Zend/zend_execute_API.c 2021-11-16 14:18:41.000000000 +0300 ++++ php-7.3.33/Zend/zend_execute_API.c 2026-10-22 02:04:53.231578113 +0300 +@@ -267,6 +267,10 @@ + + zend_objects_store_free_object_storage(&EG(objects_store), fast_shutdown); + ++ /* may be used by zend_error_zstr_at before init_executor */ ++ EG(error_handling) = EH_NORMAL; ++ EG(exception) = NULL; ++ + /* All resources and objects are destroyed. */ + /* No PHP callback functions may be called after this point. */ + EG(active) = 0; +@@ -285,6 +289,8 @@ + zend_hash_discard(EG(function_table), EG(persistent_functions_count)); + zend_hash_discard(EG(class_table), EG(persistent_classes_count)); + zend_cleanup_internal_classes(); ++ EG(objects_store).object_buckets = NULL; ++ EG(objects_store).top = 1; + } else { + zend_hash_graceful_reverse_destroy(&EG(symbol_table)); + +diff -ruN php-7.3.33-src/Zend/zend_hash.c php-7.3.33-enh-src/Zend/zend_hash.c +--- php-7.3.33/Zend/zend_hash.c 2021-11-16 14:18:41.000000000 +0300 ++++ php-7.3.33/Zend/zend_hash.c 2026-10-22 02:04:53.231578113 +0300 +@@ -93,7 +93,7 @@ + if (nSize <= HT_MIN_SIZE) { + return HT_MIN_SIZE; + } else if (UNEXPECTED(nSize >= HT_MAX_SIZE)) { +- zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%u * %zu + %zu)", nSize, sizeof(Bucket), sizeof(Bucket)); ++ zend_mm_safe_error_ex("Possible integer overflow in memory allocation (%u * %zu + %zu)", nSize, sizeof(Bucket), sizeof(Bucket)); + } + + #if defined(ZEND_WIN32) +@@ -219,6 +219,13 @@ + return ht;
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.