Skip to content

Commit

Permalink
MDEV-16045: Fix a heap allocation
Browse files Browse the repository at this point in the history
Since commit baa5a43
changed the allocation of log_t::files::file_header_bufs[],
a memory overrun could occur when running with a non-default
setting of innodb_log_files_in_group.

log_t::files::create(): Correctly allocate n_files*2048 + 512
bytes of memory, to be aligned at a 512-byte boundary.
  • Loading branch information
dr-m committed May 17, 2018
1 parent 10d44db commit b2f5608
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions storage/innobase/log/log0log.cc
Original file line number Diff line number Diff line change
Expand Up @@ -675,9 +675,8 @@ void log_t::files::create(ulint n_files)
lsn= LOG_START_LSN;
lsn_offset= LOG_FILE_HDR_SIZE;

byte* ptr= static_cast<byte*>(ut_zalloc_nokey(LOG_FILE_HDR_SIZE
+ OS_FILE_LOG_BLOCK_SIZE
* n_files));
byte* ptr= static_cast<byte*>(ut_zalloc_nokey(LOG_FILE_HDR_SIZE * n_files
+ OS_FILE_LOG_BLOCK_SIZE));
file_header_bufs_ptr= ptr;
ptr= static_cast<byte*>(ut_align(ptr, OS_FILE_LOG_BLOCK_SIZE));

Expand Down

0 comments on commit b2f5608

Please sign in to comment.