From: Marcin Siodelski Date: Thu, 22 Aug 2019 08:29:27 +0000 (+0200) Subject: [#851,!24-p] Avoid referencing out of bounds vector element in MySQL conn. X-Git-Tag: Kea-1.6.0~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=10fe55ce89e9e6c6f6458f671bd6787b5f570a07;p=thirdparty%2Fkea.git [#851,!24-p] Avoid referencing out of bounds vector element in MySQL conn. --- diff --git a/src/lib/mysql/mysql_connection.h b/src/lib/mysql/mysql_connection.h index 750bd59549..929fbc16e5 100644 --- a/src/lib/mysql/mysql_connection.h +++ b/src/lib/mysql/mysql_connection.h @@ -359,7 +359,8 @@ public: int status = 0; if (!in_bind_vec.empty()) { // Bind parameters to the prepared statement. - status = mysql_stmt_bind_param(statements_[index], &in_bind_vec[0]); + status = mysql_stmt_bind_param(statements_[index], + in_bind_vec.empty() ? 0 : &in_bind_vec[0]); checkError(status, index, "unable to bind parameters for select"); } @@ -432,7 +433,8 @@ public: } // Bind the parameters to the statement - int status = mysql_stmt_bind_param(statements_[index], &in_bind_vec[0]); + int status = mysql_stmt_bind_param(statements_[index], + in_bind_vec.empty() ? 0 : &in_bind_vec[0]); checkError(status, index, "unable to bind parameters"); // Execute the statement @@ -474,7 +476,8 @@ public: } // Bind the parameters to the statement - int status = mysql_stmt_bind_param(statements_[index], &in_bind_vec[0]); + int status = mysql_stmt_bind_param(statements_[index], + in_bind_vec.empty() ? 0 : &in_bind_vec[0]); checkError(status, index, "unable to bind parameters"); // Execute the statement