From: Sage Weil Date: Thu, 15 Sep 2016 19:48:07 +0000 (-0400) Subject: os/memstore: fix bug in BufferlistObject::write X-Git-Tag: v11.0.1~154^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=07982d5d94e52981bbef3559525812fff58ed427;p=ceph.git os/memstore: fix bug in BufferlistObject::write Signed-off-by: Sage Weil --- diff --git a/src/os/memstore/MemStore.cc b/src/os/memstore/MemStore.cc index 29488840f9f3..2910a4986c5a 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);