sixd            Fri Feb 15 23:24:45 2008 UTC

  Added files:                 (Branch: PHP_5_3)
    /php-src/ext/oci8/tests     bug44113.phpt 

  Modified files:              
    /php-src/ext/oci8   oci8_collection.c 
  Log:
  MHB: Bug #44113 (New collection creation can fail with OCI-22303)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/oci8_collection.c?r1=1.5.2.3.2.7.2.1&r2=1.5.2.3.2.7.2.2&diff_format=u
Index: php-src/ext/oci8/oci8_collection.c
diff -u php-src/ext/oci8/oci8_collection.c:1.5.2.3.2.7.2.1 
php-src/ext/oci8/oci8_collection.c:1.5.2.3.2.7.2.2
--- php-src/ext/oci8/oci8_collection.c:1.5.2.3.2.7.2.1  Mon Dec 31 07:17:11 2007
+++ php-src/ext/oci8/oci8_collection.c  Fri Feb 15 23:24:45 2008
@@ -25,7 +25,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: oci8_collection.c,v 1.5.2.3.2.7.2.1 2007/12/31 07:17:11 sebastian Exp 
$ */
+/* $Id: oci8_collection.c,v 1.5.2.3.2.7.2.2 2008/02/15 23:24:45 sixd Exp $ */
 
 
 
@@ -44,9 +44,9 @@
 
 /* {{{ php_oci_collection_create() 
  Create and return connection handle */
-php_oci_collection * php_oci_collection_create(php_oci_connection* connection, 
char *tdo, int tdo_len, char *schema, int schema_len TSRMLS_DC)
+php_oci_collection * php_oci_collection_create(php_oci_connection *connection, 
char *tdo, int tdo_len, char *schema, int schema_len TSRMLS_DC)
 {      
-       dvoid *dschp1;
+       dvoid *dschp1 = NULL;
        dvoid *parmp1;
        dvoid *parmp2;
        php_oci_collection *collection;
@@ -219,11 +219,17 @@
                goto CLEANUP;
        }
 
+       /* free the describe handle (Bug #44113) */
+       PHP_OCI_CALL(OCIHandleFree, ((dvoid *) dschp1, OCI_HTYPE_DESCRIBE));
        PHP_OCI_REGISTER_RESOURCE(collection, le_collection);
        return collection;
        
 CLEANUP:
 
+       if (dschp1) {
+               /* free the describe handle (Bug #44113) */
+               PHP_OCI_CALL(OCIHandleFree, ((dvoid *) dschp1, 
OCI_HTYPE_DESCRIBE));
+       }
        php_oci_error(connection->err, connection->errcode TSRMLS_CC);
        php_oci_collection_close(collection TSRMLS_CC); 
        return NULL;

http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/bug44113.phpt?view=markup&rev=1.1
Index: php-src/ext/oci8/tests/bug44113.phpt
+++ php-src/ext/oci8/tests/bug44113.phpt

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to