Fix GH-17837: ::getColumnMeta() on unexecuted statement segfaults

We cannot properly get the column meta data of a statement which has
been prepared, but has not yet been executed.  As such we bail out
early, reporting failure.

Closes GH-17850.
This commit is contained in:
Christoph M. Becker 2025-02-18 13:45:31 +01:00
parent 86f5a31e5b
commit 260e0e9bd3
No known key found for this signature in database
GPG key ID: D66C9593118BCCB6
3 changed files with 19 additions and 1 deletions

View file

@ -305,7 +305,7 @@ static int pdo_sqlite_stmt_col_meta(pdo_stmt_t *stmt, zend_long colno, zval *ret
const char *str;
zval flags;
if (!S->stmt) {
if (!S->stmt || !stmt->executed) {
return FAILURE;
}
if(colno >= sqlite3_column_count(S->stmt)) {