aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authordec05eba <0xdec05eba@gmail.com>2018-05-22 03:39:19 +0200
committerdec05eba <0xdec05eba@gmail.com>2018-05-22 03:39:22 +0200
commit27699207f857e06ac23707b55325565a2790e878 (patch)
tree3fb3ae179238a4d32c8de80496ca2816b1e5727d /tests
parentf2cf653eb9967dc9ee26cbe7a43d1815bd526563 (diff)
Follow cppcheck suggestions
Diffstat (limited to 'tests')
-rw-r--r--tests/main.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/main.cpp b/tests/main.cpp
index 6a74548..17348c4 100644
--- a/tests/main.cpp
+++ b/tests/main.cpp
@@ -384,6 +384,22 @@ void testMemoryUsage()
}
}
+pair<bool, shared_ptr<OwnedByteArray>> __attribute__((optimize("O0"))) getDataNoCopy()
+{
+ u8 *decryptionKeyRawCopy = new u8[1024 * 1024 * 64];
+ memcpy(decryptionKeyRawCopy, "hello, world!", 14);
+ shared_ptr<OwnedByteArray> decryptionKey = make_shared<OwnedByteArray>(decryptionKeyRawCopy, ENCRYPTION_KEY_BYTE_SIZE);
+ return make_pair(true, decryptionKey);
+}
+
+void __attribute__((optimize("O0"))) testMemoryLeak()
+{
+ {
+ auto data = getDataNoCopy();
+ printf("data: %s\n", data.second->data);
+ }
+}
+
struct Test
{
function<void()> testFunc;
@@ -396,6 +412,7 @@ int main(int argc, char **argv)
testByName["standard"] = { testStandard, false };
testByName["two_local_nodes"] = { testTwoLocalNodes, false };
testByName["memory_usage"] = { testMemoryUsage, true };
+ testByName["test_memory_leak"] = { testMemoryLeak, true };
const char *testName = "all";
if(argc > 1)