From ea32960f583ca4294b4e62a7db4a26abbcce3683 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 26 Mar 2015 21:00:00 -0700 Subject: [PATCH] cls_rbd: fix read past end of bufferlist c_str() in debug log msg Fixes: #11250 Signed-off-by: Sage Weil --- src/cls/rbd/cls_rbd.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cls/rbd/cls_rbd.cc b/src/cls/rbd/cls_rbd.cc index bedb6e5d39f56..ba57e642390a6 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); -- 2.39.5