]> granicus.if.org Git - php/commitdiff
Fixed string destruction (ext/mysql/tests/mysql_list_fields.phpt was failed)
authorDmitry Stogov <dmitry@zend.com>
Mon, 23 Jun 2014 13:18:47 +0000 (17:18 +0400)
committerDmitry Stogov <dmitry@zend.com>
Mon, 23 Jun 2014 13:18:47 +0000 (17:18 +0400)
ext/mysqlnd/mysqlnd_result_meta.c

index c3906ed8a68e26a4017b505b1940e438cabdbddb..5bd9f0f0b2fe0369ac110f011a1856838f21d301 100644 (file)
@@ -36,12 +36,24 @@ php_mysqlnd_free_field_metadata(MYSQLND_FIELD *meta, zend_bool persistent TSRMLS
                if (meta->def) {
                        STR_RELEASE(meta->def);
                }
-               STR_RELEASE(meta->name);
-               STR_RELEASE(meta->org_name);
-               STR_RELEASE(meta->table);
-               STR_RELEASE(meta->org_table);
-               STR_RELEASE(meta->db);
-               STR_RELEASE(meta->catalog);
+               if (meta->name) {
+                       STR_RELEASE(meta->name);
+               }
+               if (meta->org_name) {
+                       STR_RELEASE(meta->org_name);
+               }
+               if (meta->table) {
+                       STR_RELEASE(meta->table);
+               }
+               if (meta->org_table) {
+                       STR_RELEASE(meta->org_table);
+               }
+               if (meta->db) {
+                       STR_RELEASE(meta->db);
+               }
+               if (meta->catalog) {
+                       STR_RELEASE(meta->catalog);
+               }
        }
 }
 /* }}} */