From e25646e15858f88d9a651753083398289fdc2f0c Mon Sep 17 00:00:00 2001 From: Georgij Tsarin <68424751+crystarm@users.noreply.github.com> Date: Fri, 15 May 2026 19:10:41 +0300 Subject: [PATCH] Zend: Fix sizeof(pointer) usage in zend_observer memmove calls --- Zend/zend_observer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Zend/zend_observer.c b/Zend/zend_observer.c index f5f90c3c1f13..1cb4373f4c07 100644 --- a/Zend/zend_observer.c +++ b/Zend/zend_observer.c @@ -167,7 +167,7 @@ static bool zend_observer_remove_handler(void **first_handler, const void *old_h *next_handler = NULL; } else { if (cur_handler != last_handler) { - memmove(cur_handler, cur_handler + 1, sizeof(cur_handler) * (last_handler - cur_handler)); + memmove(cur_handler, cur_handler + 1, sizeof(*cur_handler) * (last_handler - cur_handler)); } *last_handler = NULL; *next_handler = *cur_handler; @@ -218,7 +218,7 @@ ZEND_API void zend_observer_add_end_handler(const zend_function *function, zend_ if (*end_handler != ZEND_OBSERVER_NOT_OBSERVED) { // there's no space for new handlers, then it's forbidden to call this function ZEND_ASSERT(end_handler[registered_observers - 1] == NULL); - memmove(end_handler + 1, end_handler, sizeof(end_handler) * (registered_observers - 1)); + memmove(end_handler + 1, end_handler, sizeof(*end_handler) * (registered_observers - 1)); } else if (*begin_handler == ZEND_OBSERVER_NONE_OBSERVED) { *begin_handler = ZEND_OBSERVER_NOT_OBSERVED; }