Skip to content

Commit 9fe5479

Browse files
committed
Merge branch 'PHP-7.4' into master
* PHP-7.4: Fix #46050: odbc_next_result corrupts prepared resource
2 parents 47ef51c + c6e7969 commit 9fe5479

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

ext/odbc/php_odbc.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2373,6 +2373,7 @@ PHP_FUNCTION(odbc_next_result)
23732373
}
23742374
efree(result->values);
23752375
result->values = NULL;
2376+
result->numcols = 0;
23762377
}
23772378

23782379
result->fetched = 0;

ext/odbc/tests/bug46050.phpt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
--TEST--
2+
Bug #46050 (odbc_next_result corrupts prepared resource)
3+
--SKIPIF--
4+
<?php include 'skipif.inc'; ?>
5+
--FILE--
6+
<?php
7+
include __DIR__ . "/config.inc";
8+
$conn = odbc_connect($dsn, $user, $pass);
9+
$stmt = odbc_prepare($conn, "SELECT 1");
10+
var_dump(odbc_execute($stmt));
11+
var_dump(odbc_fetch_array($stmt));
12+
var_dump(odbc_next_result($stmt));
13+
var_dump(odbc_execute($stmt));
14+
var_dump(odbc_fetch_array($stmt));
15+
?>
16+
--EXPECT--
17+
bool(true)
18+
array(1) {
19+
["1"]=>
20+
string(1) "1"
21+
}
22+
bool(false)
23+
bool(true)
24+
array(1) {
25+
["1"]=>
26+
string(1) "1"
27+
}

0 commit comments

Comments
 (0)