sqlite segv
Open
Bug
Extension: sqlite3
Status: Verified
- Dominant language
- C
- Stars
- 40.4k
- Forks
- 8.1k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 96
Description
Description
The following code:
<?php
$db = new SQLite3(':memory:');
$db->createFunction('evil', function () {
global $stmt;
$stmt->close();
return 1;
});
$stmt = $db->prepare("SELECT evil()");
$res = $stmt->execute();
Resulted in this output (truncated):
==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000063 ... READ
#0 sqlite3ApiExit (libsqlite3.so.0+0x912b4)
#1 sqlite3_step (libsqlite3.so.0+0xe1fb0)
#2 zim_SQLite3Stmt_execute ext/sqlite3/sqlite3.c:1901:16
PHP Version
8.6.0-dev
Operating System
Ubuntu 22.04
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.