mirror of
https://github.com/danog/ext-pq.git
synced 2025-01-22 13:51:20 +01:00
fix crash on reverse dependency from conn to stm
This commit is contained in:
parent
05da505f80
commit
b73911f65d
@ -36,26 +36,28 @@ static void php_pqstm_object_free(void *o TSRMLS_DC)
|
||||
fprintf(stderr, "FREE stm(#%d) %p (conn(#%d): %p)\n", obj->zv.handle, obj, obj->intern->conn->zv.handle, obj->intern->conn);
|
||||
#endif
|
||||
if (obj->intern) {
|
||||
char *quoted_name = PQescapeIdentifier(obj->intern->conn->intern->conn, obj->intern->name, strlen(obj->intern->name));
|
||||
if (obj->intern->conn->intern) {
|
||||
char *quoted_name = PQescapeIdentifier(obj->intern->conn->intern->conn, obj->intern->name, strlen(obj->intern->name));
|
||||
|
||||
php_pq_callback_dtor(&obj->intern->conn->intern->onevent);
|
||||
php_pq_callback_dtor(&obj->intern->conn->intern->onevent);
|
||||
|
||||
if (quoted_name) {
|
||||
PGresult *res;
|
||||
smart_str cmd = {0};
|
||||
if (quoted_name) {
|
||||
PGresult *res;
|
||||
smart_str cmd = {0};
|
||||
|
||||
smart_str_appends(&cmd, "DEALLOCATE ");
|
||||
smart_str_appends(&cmd, quoted_name);
|
||||
smart_str_0(&cmd);
|
||||
PQfreemem(quoted_name);
|
||||
smart_str_appends(&cmd, "DEALLOCATE ");
|
||||
smart_str_appends(&cmd, quoted_name);
|
||||
smart_str_0(&cmd);
|
||||
PQfreemem(quoted_name);
|
||||
|
||||
if ((res = PQexec(obj->intern->conn->intern->conn, cmd.c))) {
|
||||
PHP_PQclear(res);
|
||||
if ((res = PQexec(obj->intern->conn->intern->conn, cmd.c))) {
|
||||
PHP_PQclear(res);
|
||||
}
|
||||
smart_str_free(&cmd);
|
||||
}
|
||||
smart_str_free(&cmd);
|
||||
}
|
||||
|
||||
php_pq_object_delref(obj->intern->conn TSRMLS_CC);
|
||||
php_pq_object_delref(obj->intern->conn TSRMLS_CC);
|
||||
}
|
||||
efree(obj->intern->name);
|
||||
zend_hash_destroy(&obj->intern->bound);
|
||||
if (obj->intern->params) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user