summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-06-23 17:18:47 +0400
committerDmitry Stogov <dmitry@zend.com>2014-06-23 17:18:47 +0400
commitba45650d632f2116178ec282deda98bc65d9b09c (patch)
tree277160b68fe8bdfa263ee25dacb39e48b56530cc
parent0c5a1b835ea8d2ef47d3fa1a162d9333ec2686b5 (diff)
downloadphp-git-ba45650d632f2116178ec282deda98bc65d9b09c.tar.gz
Fixed string destruction (ext/mysql/tests/mysql_list_fields.phpt was failed)
-rw-r--r--ext/mysqlnd/mysqlnd_result_meta.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/ext/mysqlnd/mysqlnd_result_meta.c b/ext/mysqlnd/mysqlnd_result_meta.c
index c3906ed8a6..5bd9f0f0b2 100644
--- a/ext/mysqlnd/mysqlnd_result_meta.c
+++ b/ext/mysqlnd/mysqlnd_result_meta.c
@@ -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);
+ }
}
}
/* }}} */