Bug #89413 | Incorrect sprintf buffer size in sp_head::show_routine_code | ||
---|---|---|---|
Submitted: | 25 Jan 2018 15:15 | Modified: | 7 Feb 2018 15:37 |
Reporter: | Zsolt Parragi (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 5.5, 5.6, 5.7 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[25 Jan 2018 15:15]
Zsolt Parragi
[6 Feb 2018 18:11]
MySQL Verification Team
Hi Zsolt, Tell me, why the code should not be like this: const char format[] = "Instruction at position %u has m_ip=%u"; char tmp[strlen(format) + 2 * sizeof(uint) + 1]; snprintf(tmp, sizeof(tmp), format, ip, i->get_ip());
[6 Feb 2018 18:43]
MySQL Verification Team
See the fix: https://github.com/mysql/mysql-server/commit/add5c9016af30d521292ffe65b301397ef0f38bb
[7 Feb 2018 13:01]
MySQL Verification Team
Hi Zsolt, This bug is thoroughly fixed in 8.0+. We shall inquire whether the patch can be ported back to previous versions. We shall let you know when we find out.
[7 Feb 2018 15:37]
MySQL Verification Team
Hi! That patch that was pushed into 8.0 is now pushed into 5.7 version, so it should be available in the next release. There will be no changes in 5.5 and 5.6 due to the risk and due to the compilers that are used for those versions. Thank you.