From 550cca719274540ffde1a63cc8046189af5ad54b Mon Sep 17 00:00:00 2001 From: Lei Jin Date: Fri, 28 Mar 2014 17:30:20 -0700 Subject: [PATCH] dynamicbloom fix: don't offset address when it is already aligned Summary: this causes overflow and asan failure Test Plan: make asan_check Reviewers: igor Reviewed By: igor CC: leveldb Differential Revision: https://reviews.facebook.net/D17301 --- util/dynamic_bloom.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/dynamic_bloom.cc b/util/dynamic_bloom.cc index 5d3d30f4ef..a4c8e11cb1 100644 --- a/util/dynamic_bloom.cc +++ b/util/dynamic_bloom.cc @@ -39,7 +39,7 @@ DynamicBloom::DynamicBloom(uint32_t total_bits, sz += CACHE_LINE_SIZE - 1; } raw_ = new unsigned char[sz](); - if (kBlocked) { + if (kBlocked && (reinterpret_cast(raw_) % CACHE_LINE_SIZE)) { data_ = raw_ + CACHE_LINE_SIZE - reinterpret_cast(raw_) % CACHE_LINE_SIZE; } else {