Skip to content

Commit dd5cdfd

Browse files
committed
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2: Fix GH-13984: Buffer size is now checked before memcmp (#13991)
2 parents 3d86d9a + fda91a0 commit dd5cdfd

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ PHP NEWS
3737
. Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
3838
(Jakub Zelenka)
3939

40+
- PDO SQLite:
41+
. Fix GH-13984 (Buffer size is now checked before memcmp). (Saki Takamachi)
42+
4043
- Phar:
4144
. Fixed bug GH-13836 (Renaming a file in a Phar to an already existing
4245
filename causes a NULL pointer dereference). (nielsdos)

ext/pdo_sqlite/sqlite_driver.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -738,7 +738,7 @@ static char *make_filename_safe(const char *filename)
738738
}
739739
return estrdup(filename);
740740
}
741-
if (*filename && memcmp(filename, ":memory:", sizeof(":memory:"))) {
741+
if (*filename && strcmp(filename, ":memory:")) {
742742
char *fullpath = expand_filepath(filename, NULL);
743743

744744
if (!fullpath) {

ext/pdo_sqlite/tests/gh13991.phpt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
--TEST--
2+
Fix GH-13984: Buffer size is now checked before memcmp
3+
--EXTENSIONS--
4+
pdo_sqlite
5+
--SKIPIF--
6+
<?php if (file_exists(getcwd() . '/13991db')) die('skip File "13991db" already exists.'); ?>
7+
--FILE--
8+
<?php
9+
$dbfile = '13991db';
10+
$db = new PDO('sqlite:' . $dbfile, null, null, [PDO::ATTR_PERSISTENT => true]);
11+
echo 'done!';
12+
?>
13+
--CLEAN--
14+
<?php
15+
@unlink(getcwd() . '/13991db');
16+
?>
17+
--EXPECT--
18+
done!

0 commit comments

Comments
 (0)