소스 검색

Merge pull request #727 from AustinSchuh/arena_bounds_fix

Handled blocks being too small in arena.cc
Feng Xiao 10 년 전
부모
커밋
0e5686a707
1개의 변경된 파일3개의 추가작업 그리고 0개의 파일을 삭제
  1. 3 0
      src/google/protobuf/arena.cc

+ 3 - 0
src/google/protobuf/arena.cc

@@ -61,6 +61,9 @@ void Arena::Init() {
   cleanup_list_ = 0;
 
   if (options_.initial_block != NULL && options_.initial_block_size > 0) {
+    GOOGLE_CHECK_GE(options_.initial_block_size, sizeof(Block))
+        << ": Initial block size too small for header.";
+
     // Add first unowned block to list.
     Block* first_block = reinterpret_cast<Block*>(options_.initial_block);
     first_block->size = options_.initial_block_size;