]> granicus.if.org Git - php/commitdiff
Fixed zend_llist_remove_tail (Michael Wallner)
authorDmitry Stogov <dmitry@php.net>
Fri, 16 Feb 2007 08:33:28 +0000 (08:33 +0000)
committerDmitry Stogov <dmitry@php.net>
Fri, 16 Feb 2007 08:33:28 +0000 (08:33 +0000)
NEWS
Zend/zend_llist.c

diff --git a/NEWS b/NEWS
index 27423b49cd6f76896999a50f0881aa5f87bc149e..e73da6fc4d7dd3f3cc0cfc2ebe6353903c3c9f09 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,7 @@ PHP                                                                        NEWS
 - Upgraded PCRE to version 7.0 (Nuno)
 - Add --ri switch to CLI which allows to check extension information. (Marcus)
 - Added tidyNode::getParent() method (John, Nuno)
+- Fixed zend_llist_remove_tail (Michael Wallner, Dmitry)
 - Fixed bug #40467 (Partial SOAP request sent when XSD sequence or choice
   include minOccurs=0). (Dmitry) 
 - Fixed bug #40465 (Ensure that all PHP elements are printed by var_dump).
index 59cac8c62b9b68f98550692901ec5638dd23c815..c79bd8f9b336c48bd586819b14ed635ade33042c 100644 (file)
@@ -134,13 +134,15 @@ ZEND_API void *zend_llist_remove_tail(zend_llist *l)
        void *data;
 
        if ((old_tail = l->tail)) {
-               if (l->tail->prev) {
-                       l->tail->prev->next = NULL;
+               if (old_tail->prev) {
+                       old_tail->prev->next = NULL;
+               } else {
+                       l->head = NULL;
                }
         
                data = old_tail->data;
 
-               l->tail = l->tail->prev;
+               l->tail = old_tail->prev;
                if (l->dtor) {
                        l->dtor(data);
                }