From fd76fec589be13a4a6362ef388929d3e3d1d21f6 Mon Sep 17 00:00:00 2001 From: Dan Mick Date: Tue, 25 Mar 2014 17:09:48 -0700 Subject: [PATCH] rbd.cc: tolerate lack of NUL-termination on block_name_prefix Fixes: #7577 Signed-off-by: Dan Mick Reviewed-by: Sage Weil --- src/rbd.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/rbd.cc b/src/rbd.cc index c6a3dcfef44cf..e62a1848d28c9 100644 --- a/src/rbd.cc +++ b/src/rbd.cc @@ -521,6 +521,9 @@ static int do_show_info(const char *imgname, librbd::Image& image, f->dump_string("block_name_prefix", info.block_name_prefix); f->dump_int("format", (old_format ? 1 : 2)); } else { + char prefix[RBD_MAX_BLOCK_NAME_SIZE + 1]; + strncpy(prefix, info.block_name_prefix, RBD_MAX_BLOCK_NAME_SIZE); + prefix[RBD_MAX_BLOCK_NAME_SIZE] = '\0'; cout << "rbd image '" << imgname << "':\n" << "\tsize " << prettybyte_t(info.size) << " in " << info.num_objs << " objects" @@ -528,7 +531,7 @@ static int do_show_info(const char *imgname, librbd::Image& image, << "\torder " << info.order << " (" << prettybyte_t(info.obj_size) << " objects)" << std::endl - << "\tblock_name_prefix: " << info.block_name_prefix + << "\tblock_name_prefix: " << prefix << std::endl << "\tformat: " << (old_format ? "1" : "2") << std::endl; -- 2.39.5