Was running pspell through g++ and found that a couple of error conditions 
segments in pspell.c
are using the wrong cleanup methods.  delete_pspell_manager()  should be 
delete_pspell_can_have_error()

        -Phil.


--- pspell.c    16 Jul 2008 18:35:41 -0000      1.61
+++ pspell.c    11 Aug 2008 17:39:03 -0000
@@ -374,7 +374,7 @@

        if(pspell_error_number(ret) != 0){
php_error_docref(NULL TSRMLS_CC, E_WARNING, "PSPELL couldn't open the dictionary. reason: %s", pspell_error_message(ret));
-               delete_pspell_manager(ret);
+               delete_pspell_can_have_error(ret);
                RETURN_FALSE;
        }

@@ -492,7 +492,7 @@

        if(pspell_error_number(ret) != 0){
php_error_docref(NULL TSRMLS_CC, E_WARNING, "PSPELL couldn't open the dictionary. reason: %s", pspell_error_message(ret));
-               delete_pspell_manager(ret);
+               delete_pspell_can_have_error(ret);
                RETURN_FALSE;
        }

@@ -526,7 +526,7 @@

        if(pspell_error_number(ret) != 0){
php_error_docref(NULL TSRMLS_CC, E_WARNING, "PSPELL couldn't open the dictionary. reason: %s", pspell_error_message(ret));
-               delete_pspell_manager(ret);
+               delete_pspell_can_have_error(ret);
                RETURN_FALSE;
        }

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to