From: Yehuda Sadeh Date: Tue, 23 Sep 2014 19:42:10 +0000 (-0700) Subject: rgw: PutObjMetadata, clear bufferlist before appending into it X-Git-Tag: v0.87.1~17^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7b5f746d2f97c7139f9c31962c107a074bfd1863;p=ceph.git rgw: PutObjMetadata, clear bufferlist before appending into it Fixes: #9576 Backport: firefly, dumpling We need to completely rewrite the bufferlist, not append into it. Signed-off-by: Yehuda Sadeh (cherry picked from commit 44cfd88dc65d30f4295743c5834768bb13f7b805) --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 2ada0e67866..b8268341657 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -1964,6 +1964,7 @@ void RGWPutMetadata::execute() for (giter = s->generic_attrs.begin(); giter != s->generic_attrs.end(); ++giter) { bufferlist& attrbl = attrs[giter->first]; const string& val = giter->second; + attrbl.clear(); attrbl.append(val.c_str(), val.size() + 1); }