From: Sage Weil Date: Fri, 27 Mar 2015 04:00:00 +0000 (-0700) Subject: cls_rbd: fix read past end of bufferlist c_str() in debug log msg X-Git-Tag: v9.0.0~78^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ea32960f583ca4294b4e62a7db4a26abbcce3683;p=ceph.git cls_rbd: fix read past end of bufferlist c_str() in debug log msg Fixes: #11250 Signed-off-by: Sage Weil --- diff --git a/src/cls/rbd/cls_rbd.cc b/src/cls/rbd/cls_rbd.cc index bedb6e5d39f5..ba57e642390a 100644 --- a/src/cls/rbd/cls_rbd.cc +++ b/src/cls/rbd/cls_rbd.cc @@ -2228,7 +2228,8 @@ int metadata_set(cls_method_context_t hctx, bufferlist *in, bufferlist *out) for (map::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);