]> granicus.if.org Git - php/commitdiff
MFH: fix leak when binding a variable to the same placeholder several times
authorAntony Dovgal <tony2001@php.net>
Tue, 12 Sep 2006 11:42:44 +0000 (11:42 +0000)
committerAntony Dovgal <tony2001@php.net>
Tue, 12 Sep 2006 11:42:44 +0000 (11:42 +0000)
ext/oci8/oci8_statement.c

index 67dc65204011148046e11e2c3c7b88ca6435d85a..fabfaa8a3b212b3aa3628ae7f080bf59698bdae7 100644 (file)
@@ -902,6 +902,9 @@ int php_oci_bind_by_name(php_oci_statement *statement, char *name, int name_len,
        memset((void*)&bind,0,sizeof(php_oci_bind));
        if (zend_hash_find(statement->binds, name, name_len + 1, (void **)&old_bind) == SUCCESS) {
                bindp = old_bind;
+               if (bindp->zval) {
+                       zval_ptr_dtor(&bindp->zval);
+               }
        } else {
                zend_hash_update(statement->binds, name, name_len + 1, &bind, sizeof(php_oci_bind), (void **)&bindp);
        }