Bug #72413 [Asn->Csd]: mysqlnd segfault (fetch_row second parameter typemismatch)

From: Date: Thu, 29 Oct 2020 15:44:34 +0000
Subject: Bug #72413 [Asn->Csd]: mysqlnd segfault (fetch_row second parameter typemismatch)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-230009@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=72413&edit=1 ID: 72413 Updated by: nikic@php.net Reported by: martin dot koegler at brz dot gv dot at Summary: mysqlnd segfault (fetch_row second parameter typemismatch) -Status: Assigned +Status: Closed Type: Bug Package: *General Issues Operating System: Linux PHP Version: 5.6.22 Assigned To: mysql Block user comment: N Private report: N New Comment: Automatic comment on behalf of tekiela246@gmail.com Revision: http://git.php.net/?p=php-src.git;a=commit;h=b5481defe64c991d0e4307372d69c0ea3cd83378 Log: Fix bug #72413: Segfault with get_result and PS cursors Previous Comments: ------------------------------------------------------------------------ [2019-08-08 07:01:49] cmb@php.net Related To: Bug #73210 ------------------------------------------------------------------------ [2016-06-15 14:47:49] martin dot koegler at brz dot gv dot at Description: ------------ If the MYSQLI_CURSOR_TYPE_READ_ONLY option is active on a mysqli statement, mysqlnd_fetch_stmt_row_cursor is selected as row fetch method. mysqlnd_fetch_stmt_row_cursor expects a MYSQLND_STMT passed as "param" parameter. mysqlnd_res::fetch_into passes a zval as this parameter, which yields to a crash. Test script: --------------- <?php $link1=mysqli_connect(....); $SQL="SELECT 1"; $stmt=$link1->prepare($SQL); $stmt->attr_set(MYSQLI_STMT_ATTR_CURSOR_TYPE, MYSQLI_CURSOR_TYPE_READ_ONLY); $stmt->execute(); $res = $stmt->get_result(); while($res->fetch_row()); ?> Expected result: ---------------- No segfault Actual result: -------------- Segfault in 1022 SET_CLIENT_ERROR(*stmt->conn->error_info, CR_COMMANDS_OUT_OF_SYNC, UNKNOWN_SQLSTATE, mysqlnd_fetch_stmt_row_cursor at ext/mysqlnd/mysqlnd_ps.c:1022 php_mysqlnd_res_fetch_into_pub at ext/mysqlnd/mysqlnd_result.c:1823 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=72413&edit=1

« previous php.bugs (#230009) next »