From 07982d5d94e52981bbef3559525812fff58ed427 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 15 Sep 2016 15:48:07 -0400 Subject: [PATCH] os/memstore: fix bug in BufferlistObject::write Signed-off-by: Sage Weil --- src/os/memstore/MemStore.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/os/memstore/MemStore.cc b/src/os/memstore/MemStore.cc index 29488840f9f3a..2910a4986c5a5 100644 --- a/src/os/memstore/MemStore.cc +++ b/src/os/memstore/MemStore.cc @@ -1496,8 +1496,10 @@ int BufferlistObject::write(uint64_t offset, const bufferlist &src) if (get_size() >= offset) { newdata.substr_of(data, 0, offset); } else { - newdata.substr_of(data, 0, get_size()); - newdata.append(offset - get_size()); + if (get_size()) { + newdata.substr_of(data, 0, get_size()); + } + newdata.append_zero(offset - get_size()); } newdata.append(src); -- 2.39.5