From 4fe98d3acf13fdb799e29d554ee195b0bcfbc6db Mon Sep 17 00:00:00 2001 From: Calle Wilund Date: Mon, 10 Aug 2015 12:49:45 +0200 Subject: [PATCH] Commitlog: Throw bad_alloc on memalign fail (avoid sigsegv later) --- db/commitlog/commitlog.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/db/commitlog/commitlog.cc b/db/commitlog/commitlog.cc index 5100e1daf3..1afd729f0a 100644 --- a/db/commitlog/commitlog.cc +++ b/db/commitlog/commitlog.cc @@ -739,6 +739,9 @@ db::commitlog::segment_manager::buffer_type db::commitlog::segment_manager::acqu ++i; } auto a = ::memalign(segment::alignment, s); + if (a == nullptr) { + throw std::bad_alloc(); + } return buffer_type(reinterpret_cast(a), s, make_free_deleter(a)); }