diff --git a/NEWS b/NEWS index 826c0f0a714..cc2f44a7db9 100644 --- a/NEWS +++ b/NEWS @@ -20,6 +20,7 @@ PHP NEWS (cmb) . Fixed bug #80150 (Failure to fetch error message). (cmb) . Fixed bug #80152 (odbc_execute() moves internal pointer of $params). (cmb) + . Fixed bug #46050 (odbc_next_result corrupts prepared resource). (cmb) - OPcache: . Fixed bug #80083 (Optimizer pass 6 removes variables used for ibm_db2 data diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 456ee0931fd..915ce952620 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 00000000000..33564f2170e --- /dev/null +++ b/ext/odbc/tests/bug46050.phpt @@ -0,0 +1,27 @@ +--TEST-- +Bug #46050 (odbc_next_result corrupts prepared resource) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(true) +array(1) { + ["1"]=> + string(1) "1" +} +bool(false) +bool(true) +array(1) { + ["1"]=> + string(1) "1" +}