diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2020-10-05 17:47:21 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2020-10-05 17:47:35 +0200 |
commit | c6e7969f0586ff3129a36ffddb5dc1bb259ff463 (patch) | |
tree | e58ef376254803da105917e6b0475d4c79730465 /ext/odbc | |
parent | 9ad5381a2f94073f2d84bdda9bc8892d18587fdd (diff) | |
parent | 69ba81d183130b06d52ea1cd4574864ffae5dd84 (diff) | |
download | php-git-c6e7969f0586ff3129a36ffddb5dc1bb259ff463.tar.gz |
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #46050: odbc_next_result corrupts prepared resource
Diffstat (limited to 'ext/odbc')
-rw-r--r-- | ext/odbc/php_odbc.c | 1 | ||||
-rw-r--r-- | ext/odbc/tests/bug46050.phpt | 27 |
2 files changed, 28 insertions, 0 deletions
diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 456ee0931f..915ce95262 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -2772,6 +2772,7 @@ PHP_FUNCTION(odbc_next_result) } efree(result->values); result->values = NULL; + result->numcols = 0; } result->fetched = 0; diff --git a/ext/odbc/tests/bug46050.phpt b/ext/odbc/tests/bug46050.phpt new file mode 100644 index 0000000000..33564f2170 --- /dev/null +++ b/ext/odbc/tests/bug46050.phpt @@ -0,0 +1,27 @@ +--TEST-- +Bug #46050 (odbc_next_result corrupts prepared resource) +--SKIPIF-- +<?php include 'skipif.inc'; ?> +--FILE-- +<?php +include __DIR__ . "/config.inc"; +$conn = odbc_connect($dsn, $user, $pass); +$stmt = odbc_prepare($conn, "SELECT 1"); +var_dump(odbc_execute($stmt)); +var_dump(odbc_fetch_array($stmt)); +var_dump(odbc_next_result($stmt)); +var_dump(odbc_execute($stmt)); +var_dump(odbc_fetch_array($stmt)); +?> +--EXPECT-- +bool(true) +array(1) { + ["1"]=> + string(1) "1" +} +bool(false) +bool(true) +array(1) { + ["1"]=> + string(1) "1" +} |