diff --git a/Zend/zend_llist.c b/Zend/zend_llist.c index 26baf4d958cf0..4656420781d0f 100644 --- a/Zend/zend_llist.c +++ b/Zend/zend_llist.c @@ -91,13 +91,15 @@ ZEND_API void zend_llist_prepend_element(zend_llist *l, void *element) ZEND_API void zend_llist_del_element(zend_llist *l, void *element, int (*compare)(void *element1, void *element2)) { zend_llist_element *current=l->head; + zend_llist_element *next; while (current) { + next = current->next; if (compare(current->data, element)) { DEL_LLIST_ELEMENT(current, l); break; } - current = current->next; + current = next; } }