summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-02-17 21:47:07 -0800
committerSage Weil <sage@inktank.com>2013-02-17 21:47:07 -0800
commit7fcbfdc09b7aa848808a7de15e3776959f2cc67b (patch)
tree11205c75a4d7ddb33d2f372fa8b672aba344a008
parentfb472a57c6a17e9d2f74a5d226e4e0c91ae9f2a2 (diff)
downloadceph-7fcbfdc09b7aa848808a7de15e3776959f2cc67b.tar.gz
buffer: put big buffer on heap, not stack
This fixes a segfault on my x86_64 wheezy box. Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/test/bufferlist.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/test/bufferlist.cc b/src/test/bufferlist.cc
index 6f8ba19d226..fe91fdf5937 100644
--- a/src/test/bufferlist.cc
+++ b/src/test/bufferlist.cc
@@ -1821,9 +1821,10 @@ TEST(BufferList, TestCopyAll) {
bufferlist bl2;
i.copy_all(bl2);
ASSERT_EQ(bl2.length(), BIG_SZ);
- unsigned char big2[BIG_SZ];
- bl2.copy(0, BIG_SZ, (char*)big2);
- ASSERT_EQ(memcmp(big.get(), big2, BIG_SZ), 0);
+ std::tr1::shared_ptr <unsigned char> big2(
+ (unsigned char*)malloc(BIG_SZ), free);
+ bl2.copy(0, BIG_SZ, (char*)big2.get());
+ ASSERT_EQ(memcmp(big.get(), big2.get(), BIG_SZ), 0);
}
TEST(BufferHash, all) {