]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test/librbd/test_librbd.cc: fix OVERRUN
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Tue, 23 Feb 2016 08:31:04 +0000 (09:31 +0100)
committerSage Weil <sage@redhat.com>
Wed, 9 Nov 2016 19:44:57 +0000 (14:44 -0500)
Fix for:

CID 1297862 (#1 of 1): Out-of-bounds access (OVERRUN)
 alloc_strlen: Allocating insufficient memory for the terminating
  null of the string.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/test/librbd/test_librbd.cc

index b95100c15a721e3132ba5043ea262026dcff135b..62a151dcaaa8b8dc0db718d09c883df8c848a142 100644 (file)
@@ -3166,8 +3166,8 @@ TEST_F(TestLibRBD, ZeroLengthDiscard)
   ASSERT_EQ(0, create_image(ioctx, name.c_str(), size, &order));
   ASSERT_EQ(0, rbd_open(ioctx, name.c_str(), &image, NULL));
 
-  const char *data = "blah";
-  char read_data[strlen(data)];
+  const char data[] = "blah";
+  char read_data[sizeof(data)];
   ASSERT_EQ((int)strlen(data), rbd_write(image, 0, strlen(data), data));
   ASSERT_EQ(0, rbd_discard(image, 0, 0));
   ASSERT_EQ((int)strlen(data), rbd_read(image, 0, strlen(data), read_data));