]> granicus.if.org Git - php/commitdiff
Fixed memory leaks
authorDmitry Stogov <dmitry@zend.com>
Tue, 6 May 2014 00:06:58 +0000 (04:06 +0400)
committerDmitry Stogov <dmitry@zend.com>
Tue, 6 May 2014 00:06:58 +0000 (04:06 +0400)
ext/pdo/pdo_stmt.c

index 45d73fb669160701a81a9ec6a3f02cf1e6db0c58..a0a3a8b5fc1cfec9992dd4db32c2ca4eb89e02d8 100644 (file)
@@ -811,7 +811,12 @@ static int do_fetch_opt_finish(pdo_stmt_t *stmt, int free_ctor_agrs TSRMLS_DC) /
 {
        /* fci.size is used to check if it is valid */
        if (stmt->fetch.cls.fci.size && stmt->fetch.cls.fci.params) {
-               efree(stmt->fetch.cls.fci.params);
+               if (!Z_ISUNDEF(stmt->fetch.cls.ctor_args)) {
+                   /* Added to free constructor arguments ??? */
+                       zend_fcall_info_args_clear(&stmt->fetch.cls.fci, 1);
+               } else {
+                       efree(stmt->fetch.cls.fci.params);
+               }
                stmt->fetch.cls.fci.params = NULL;
        }