diff -Naur a/boost/asio/detail/hash_map.hpp b/boost/asio/detail/hash_map.hpp --- a/boost/asio/detail/hash_map.hpp 2012-01-15 19:16:25.000000000 +0530 +++ b/boost/asio/detail/hash_map.hpp 2012-11-26 18:12:21.000000000 +0530 @@ -181,6 +181,8 @@ void erase(iterator it) { BOOST_ASSERT(it != values_.end()); + if(0 == num_buckets_) + return; size_t bucket = calculate_hash_value(it->first) % num_buckets_; bool is_first = (it == buckets_[bucket].first); @@ -244,6 +246,8 @@ if (num_buckets == num_buckets_) return; num_buckets_ = num_buckets; + if(0 == num_buckets_) + return; iterator end_iter = values_.end();