]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: PutObjMetadata, clear bufferlist before appending into it
authorYehuda Sadeh <yehuda@redhat.com>
Tue, 23 Sep 2014 19:42:10 +0000 (12:42 -0700)
committerYehuda Sadeh <yehuda@redhat.com>
Tue, 23 Sep 2014 19:54:54 +0000 (12:54 -0700)
Fixes: #9576
Backport: firefly, dumpling

We need to completely rewrite the bufferlist, not append into it.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_op.cc

index 7522fc52a5324790ba190ac739c6ff21183af359..095e2c18108c048b9c8266fedf2dd29ffeacc9e1 100644 (file)
@@ -1962,6 +1962,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);
   }