fix leaks and add one more NULL check

This commit is contained in:
Anatol Belski 2016-02-29 15:38:42 +01:00
parent a310c3b484
commit d7fd614cc6

View File

@ -104,6 +104,12 @@ static int pdo_dblib_stmt_cursor_closer(pdo_stmt_t *stmt TSRMLS_DC)
dbcancel(H->link); dbcancel(H->link);
if (stmt->columns) { if (stmt->columns) {
int i = 0;
for (; i < stmt->column_count; i++) {
if (stmt->columns[i].name) {
efree(stmt->columns[i].name);
}
}
efree(stmt->columns); efree(stmt->columns);
stmt->columns = NULL; stmt->columns = NULL;
} }
@ -115,8 +121,16 @@ static int pdo_dblib_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC)
{ {
pdo_dblib_stmt *S = (pdo_dblib_stmt*)stmt->driver_data; pdo_dblib_stmt *S = (pdo_dblib_stmt*)stmt->driver_data;
if (stmt->columns) {
int i = 0;
for (; i < stmt->column_count; i++) {
if (stmt->columns[i].name) {
efree(stmt->columns[i].name);
}
}
efree(stmt->columns); efree(stmt->columns);
stmt->columns = NULL; stmt->columns = NULL;
}
efree(S); efree(S);