diff --git a/test/tools_blob_unittest.cpp b/test/tools_blob_unittest.cpp
index a04a741..cbbb151 100644
--- a/test/tools_blob_unittest.cpp
+++ b/test/tools_blob_unittest.cpp
@@ -41,7 +41,7 @@
 
     /* return value. */
     std::vector<std::uint8_t> resp = {0xcf, 0xc2, 0x00, 0x00, 0x00,
-                                      'a',  'b',  'c',  'd'};
+                                      'a',  'b',  'c',  'd',  0x00};
 
     EXPECT_CALL(ipmiMock, sendPacket(Eq(request))).WillOnce(Return(resp));
     EXPECT_STREQ("abcd", blob.enumerateBlob(1).c_str());
@@ -86,11 +86,12 @@
 
     /* return value. */
     std::vector<std::uint8_t> resp2 = {0xcf, 0xc2, 0x00, 0x00, 0x00,
-                                       'a',  'b',  'c',  'd'};
+                                       'a',  'b',  'c',  'd',  0x00};
 
     EXPECT_CALL(ipmiMock, sendPacket(Eq(request2))).WillOnce(Return(resp2));
 
-    std::vector<std::string> expectedList = {"abcd"};
+    /* A std::string is not nul-terminated by default. */
+    std::vector<std::string> expectedList = {std::string{"abcd"}};
 
     EXPECT_EQ(expectedList, blob.getBlobList());
 }
