Bug #56883 | rpl_row_ignorable_event fails on valgrind run | ||
---|---|---|---|
Submitted: | 20 Sep 2010 23:23 | Modified: | 15 Nov 2010 19:34 |
Reporter: | Luis Soares | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Row Based Replication ( RBR ) | Severity: | S3 (Non-critical) |
Version: | mysql-next-mr-bugfixing | OS: | Any |
Assigned to: | Luis Soares | CPU Architecture: | Any |
Tags: | valgrind |
[20 Sep 2010 23:23]
Luis Soares
[22 Sep 2010 0:31]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/118769 3298 Luis Soares 2010-09-22 BUG#56883: rpl_row_ignorable_event fails on valgrind run The buffer used in mysql_client_binlog_statement is never initialized. If an event is processed and its payload is handled as a null terminated string, then conditional jumps depending on uninitialized values may ocur. This was the case for Rows_query_log_event. We fix this by always setting a null terminator mark on byte 'buf+event_len' when an event is decoded from the BINLOG statement. Given that the buffer is reused for all events on a BINLOG statement, then this is also an extra security measure against dumping garbage from a previous event somehow...
[22 Sep 2010 0:32]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/118770 3298 Luis Soares 2010-09-22 BUG#56883: rpl_row_ignorable_event fails on valgrind run The buffer used in mysql_client_binlog_statement is never initialized. If an event is processed and its payload is handled as a null terminated string, then conditional jumps depending on uninitialized values may ocur. This was the case for Rows_query_log_event. We fix this by always setting a null terminator mark on byte 'buf+event_len' when an event is decoded from the BINLOG statement. Given that the buffer is reused for all events on a BINLOG statement, then this is also an extra security measure against dumping garbage from a previous event somehow...
[24 Sep 2010 15:25]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/119071 3298 Luis Soares 2010-09-24 BUG#56883: rpl_row_ignorable_event fails on valgrind run The buffer used in mysql_client_binlog_statement is never initialized and may contain several events data in it. If an event is processed and its payload is handled as a null terminated string, then conditional jumps depending on uninitialized values may ocur. Such cases happen if there is access outside this event portion of the buffer used for storing its data. This was the case for Rows_query_log_event. We fix this by replacing my_snprintf with strmake (which copies only the specified len bytes from str and sets *(my_rows_query+len)= '\0'.
[30 Sep 2010 11:52]
Luis Soares
Queued in mysql-next-mr-bugfixing: http://pb2.norway.sun.com/web.py?template=push_details&push=1612070
[2 Oct 2010 18:15]
Bugs System
Pushed into mysql-next-mr (revid:alexander.nozdrin@oracle.com-20101002181053-6iotvl26uurcoryp) (version source revid:alexander.nozdrin@oracle.com-20101002180917-h0n62akupm3z20nt) (pib:21)
[13 Nov 2010 16:17]
Bugs System
Pushed into mysql-trunk 5.6.99-m5 (revid:alexander.nozdrin@oracle.com-20101113155825-czmva9kg4n31anmu) (version source revid:vasil.dimov@oracle.com-20100629074804-359l9m9gniauxr94) (merge vers: 5.6.99-m4) (pib:21)
[15 Nov 2010 19:34]
Jon Stephens
Bug doesn't appear in a release, closing.