Commit 81fd6105bc6 for php
commit 81fd6105bc6b003e5e226aa17a0f1f51201dc812
Author: David Carlier <devnexen@gmail.com>
Date: Sat Oct 10 19:42:07 2026 +0100
Zend: zend_call_stack_get_netbsd_pthread() pthread attribute leak.
Close GH-24245
diff --git a/NEWS b/NEWS
index 4be7ba3fdb1..e5ff8f8df4d 100644
--- a/NEWS
+++ b/NEWS
@@ -21,6 +21,8 @@ PHP NEWS
. Fix escape analysis for objects implementing ArrayAccess. (ndossche, Arnaud)
. Fix UAF for resolved callable zval. (EdmondDantes)
. Fix memory leak for nested HTTP calls. (EdmondDantes)
+ . Fixed pthread attribute leak in zend_call_stack_get_netbsd_pthread().
+ (David Carlier)
- DOM:
. Fixed bug GH-23352 (UAF reading an attribute value node retained across
diff --git a/Zend/zend_call_stack.c b/Zend/zend_call_stack.c
index ac12b8b7d87..ab00781b47d 100644
--- a/Zend/zend_call_stack.c
+++ b/Zend/zend_call_stack.c
@@ -591,11 +591,13 @@ static bool zend_call_stack_get_netbsd_pthread(zend_call_stack *stack)
error = pthread_attr_getstack(&attr, &addr, &max_size);
if (error) {
+ pthread_attr_destroy(&attr);
return false;
}
error = pthread_attr_getguardsize(&attr, &guard_size);
if (error) {
+ pthread_attr_destroy(&attr);
return false;
}
@@ -605,6 +607,7 @@ static bool zend_call_stack_get_netbsd_pthread(zend_call_stack *stack)
stack->base = (char *)addr + max_size;
stack->max_size = max_size;
+ pthread_attr_destroy(&attr);
return true;
}
# else