From: Dan Mick Date: Wed, 26 Mar 2014 00:09:48 +0000 (-0700) Subject: rbd.cc: tolerate lack of NUL-termination on block_name_prefix X-Git-Tag: v0.67.10~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=051d1b4e56b37b2293b54d8cdb58a974684c8464;p=ceph.git rbd.cc: tolerate lack of NUL-termination on block_name_prefix Fixes: #7577 Signed-off-by: Dan Mick Reviewed-by: Sage Weil (cherry picked from commit fd76fec589be13a4a6362ef388929d3e3d1d21f6) --- diff --git a/src/rbd.cc b/src/rbd.cc index 15b85e100e00..293a6a1c8f72 100644 --- a/src/rbd.cc +++ b/src/rbd.cc @@ -515,6 +515,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" @@ -522,7 +525,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;