From 5eaedb51b9e618a1c522674b7c14b90778e6f32d Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Wed, 8 Sep 2021 01:03:34 +0000 Subject: [PATCH] unit_tests: fix use after free in serialization test --- tests/unit_tests/serialization.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/unit_tests/serialization.cpp b/tests/unit_tests/serialization.cpp index 535752665..f4c73d3d5 100644 --- a/tests/unit_tests/serialization.cpp +++ b/tests/unit_tests/serialization.cpp @@ -132,7 +132,8 @@ TEST(Serialization, BinaryArchiveInts) { ASSERT_EQ(8, oss.str().size()); ASSERT_EQ(string("\0\0\0\0\xff\0\0\0", 8), oss.str()); - binary_archive iar{epee::strspan(oss.str())}; + const std::string s = oss.str(); + binary_archive iar{epee::strspan(s)}; iar.serialize_int(x1); ASSERT_EQ(8, iar.getpos()); ASSERT_TRUE(iar.good()); @@ -150,7 +151,8 @@ TEST(Serialization, BinaryArchiveVarInts) { ASSERT_EQ(6, oss.str().size()); ASSERT_EQ(string("\x80\x80\x80\x80\xF0\x1F", 6), oss.str()); - binary_archive iar{epee::strspan(oss.str())}; + const std::string s = oss.str(); + binary_archive iar{epee::strspan(s)}; iar.serialize_varint(x1); ASSERT_TRUE(iar.good()); ASSERT_EQ(x, x1);