Skip to content

Commit dd3684c

Browse files
fix for crash due to stack corruption, output buffer not big enough to hold escaped sql parameter
1 parent 1a74fe5 commit dd3684c

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/database.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ namespace db {
6565
* Escape all parameters properly
6666
*/
6767
for (unsigned int i = 0; i < parameters.size(); ++i) {
68-
char out[parameters[i].length() + 1];
68+
/* Worst case scenario: Every character becomes two, plus NULL terminator*/
69+
char out[parameters[i].length() * 2 + 1];
6970
mysql_real_escape_string(&connection, out, parameters[i].c_str(), parameters[i].length());
7071
parameters[i] = out;
7172
}

0 commit comments

Comments
 (0)