From e9ae9a1d8d7419d99a97050112231c9cd18cf9d8 Mon Sep 17 00:00:00 2001 From: Igor Sugak Date: Fri, 12 Feb 2016 15:54:28 -0800 Subject: [PATCH] folly/test/json_test: fix heap-buffer-overflow in Json.PrintTo test Summary:Json.PrintTo test if failing with heap-buffer-overflow asan abort. The problem here comes up when values of `std::string` and `std::ostrstring::str()` are compared. `std::ostrstring::str()` returns *non null* terminated array of `char`s. When compared with `std::string` a read from memory after the end that array is made. Fixing the test by replacing `std::ostrstream` with `std::ostringstream`, that does append `\0`. Reviewed By: yfeldblum Differential Revision: D2934352 fb-gh-sync-id: c6a5d765c9951716b8a14715702cf3d940c6d723 shipit-source-id: c6a5d765c9951716b8a14715702cf3d940c6d723 --- folly/test/JsonTest.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/folly/test/JsonTest.cpp b/folly/test/JsonTest.cpp index d166b75b..ec27a901 100644 --- a/folly/test/JsonTest.cpp +++ b/folly/test/JsonTest.cpp @@ -466,7 +466,7 @@ TEST(Json, SortKeys) { } TEST(Json, PrintTo) { - std::ostrstream oss; + std::ostringstream oss; dynamic value = dynamic::object ("foo", "bar") -- 2.34.1