BUG#52202: mysqlbinlog_row* fail in daily-trunk on Sol10 x86_64

debug_max

There was a buffer overrun when unpacking the date
field. Incidentaly, this seems to affect only solaris x86_64
debug builds, but others platforms may be vulnerable as well.

In particular, the buffer size used was not taking into
consideration that the '\0' character would be written into
it.

We fix this by increasing the size of the buffer used to
accommodate one extra byte (the one for the '\0').
This commit is contained in:
Luis Soares 2010-03-25 00:30:16 +00:00
parent 26a8eda499
commit c340c3aa10

View File

@ -1717,8 +1717,8 @@ log_event_print_value(IO_CACHE *file, const uchar *ptr,
{
uint32 tmp= uint3korr(ptr);
int part;
char buf[10];
char *pos= &buf[10];
char buf[11];
char *pos= &buf[10]; // start from '\0' to the beginning
/* Copied from field.cc */
*pos--=0; // End NULL