]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cls_rbd: fix read past end of bufferlist c_str() in debug log msg 4199/head
authorSage Weil <sage@redhat.com>
Fri, 27 Mar 2015 04:00:00 +0000 (21:00 -0700)
committerSage Weil <sage@redhat.com>
Fri, 27 Mar 2015 04:00:00 +0000 (21:00 -0700)
Fixes: #11250
Signed-off-by: Sage Weil <sage@redhat.com>
src/cls/rbd/cls_rbd.cc

index bedb6e5d39f5646d854caee353ef160e3f5f1957..ba57e642390a64542150062410ac587311d2d194 100644 (file)
@@ -2228,7 +2228,8 @@ int metadata_set(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
 
   for (map<string, bufferlist>::iterator it = data.begin();
        it != data.end(); ++it) {
-    CLS_LOG(20, "metdata_set key=%s value=%s", it->first.c_str(), it->second.c_str());
+    CLS_LOG(20, "metdata_set key=%s value=%.*s", it->first.c_str(),
+           it->second.length(), it->second.c_str());
     raw_data[metadata_key_for_name(it->first)].swap(it->second);
   }
   int r = cls_cxx_map_set_vals(hctx, &raw_data);