From 9320728fc3538d09e25b05da0cfc19dd5aa7be33 Mon Sep 17 00:00:00 2001 From: Appla Date: Mon, 9 Feb 2026 09:50:42 +0800 Subject: [PATCH] Zend: Add NULL check in zend_signal_handler_unblock --- Zend/zend_signal.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Zend/zend_signal.c b/Zend/zend_signal.c index 2b7f6f173c1f9..009db996a1ee3 100644 --- a/Zend/zend_signal.c +++ b/Zend/zend_signal.c @@ -160,13 +160,15 @@ ZEND_API void zend_signal_handler_unblock(void) if (EXPECTED(SIGG(active))) { SIGNAL_BEGIN_CRITICAL(); /* procmask to protect handler_defer as if it were called by the kernel */ queue = SIGG(phead); - SIGG(phead) = queue->next; - zend_signal = queue->zend_signal; - queue->next = SIGG(pavail); - queue->zend_signal.signo = 0; - SIGG(pavail) = queue; - - zend_signal_handler_defer(zend_signal.signo, zend_signal.siginfo, zend_signal.context); + if (EXPECTED(queue)) { + SIGG(phead) = queue->next; + zend_signal = queue->zend_signal; + queue->next = SIGG(pavail); + queue->zend_signal.signo = 0; + SIGG(pavail) = queue; + + zend_signal_handler_defer(zend_signal.signo, zend_signal.siginfo, zend_signal.context); + } SIGNAL_END_CRITICAL(); } }