From 531568a683b134d5d541413aa904bce9618cd170 Mon Sep 17 00:00:00 2001 From: Tudor Bosman Date: Thu, 9 May 2013 15:17:13 -0700 Subject: [PATCH] fix segfault on fb platform Summary: Strings can be moved around while the vector grows. Test Plan: file_util_test Reviewed By: lucian@fb.com FB internal diff: D806966 Blame Revision: D806781 --- folly/test/FileUtilTest.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/folly/test/FileUtilTest.cpp b/folly/test/FileUtilTest.cpp index 8b50b5cf..f9fe52b7 100644 --- a/folly/test/FileUtilTest.cpp +++ b/folly/test/FileUtilTest.cpp @@ -192,9 +192,11 @@ IovecBuffers::IovecBuffers(std::initializer_list sizes) { iov_.reserve(sizes.size()); for (auto& s : sizes) { buffers_.push_back(std::string(s, '\0')); + } + for (auto& b : buffers_) { iovec iov; - iov.iov_base = &(buffers_.back()[0]); - iov.iov_len = s; + iov.iov_base = &b[0]; + iov.iov_len = b.size(); iov_.push_back(iov); } } -- 2.34.1