mirror of
https://github.com/php/php-src.git
synced 2026-04-04 22:52:40 +02:00
fix leaks and add one more NULL check
This commit is contained in:
@@ -104,10 +104,16 @@ static int pdo_dblib_stmt_cursor_closer(pdo_stmt_t *stmt TSRMLS_DC)
|
||||
dbcancel(H->link);
|
||||
|
||||
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);
|
||||
stmt->columns = NULL;
|
||||
}
|
||||
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
efree(stmt->columns);
|
||||
stmt->columns = NULL;
|
||||
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);
|
||||
stmt->columns = NULL;
|
||||
}
|
||||
|
||||
efree(S);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user