From c74e5b28b5fa64e4934b01964263ee3fa4326e3d Mon Sep 17 00:00:00 2001
From: Sergey Yakubov <sergey.yakubov@desy.de>
Date: Wed, 12 Jun 2019 14:31:19 +0200
Subject: [PATCH] fix memleak

---
 receiver/src/request.cpp            | 2 +-
 receiver/unittests/test_request.cpp | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/receiver/src/request.cpp b/receiver/src/request.cpp
index ee74b4c7b..cf1420595 100644
--- a/receiver/src/request.cpp
+++ b/receiver/src/request.cpp
@@ -42,7 +42,7 @@ Error Request::ReceiveMetaData() {
     if (err) {
         return err;
     }
-    metadata_.assign((char*)buf.get());
+    metadata_.assign((char*)buf.get(),request_header_.meta_size);
     return nullptr;
 }
 
diff --git a/receiver/unittests/test_request.cpp b/receiver/unittests/test_request.cpp
index 23e3eec4c..fc400799c 100644
--- a/receiver/unittests/test_request.cpp
+++ b/receiver/unittests/test_request.cpp
@@ -104,8 +104,8 @@ class RequestTests : public Test {
 };
 
 ACTION_P(CopyStr,value) {
-    if (value.size()<=arg2) {
-        strcpy(static_cast<char*>(arg1), value.c_str());
+    if (value.size()<=arg2 && value.size()>0) {
+        memcpy(static_cast<char*>(arg1), value.c_str(),value.size());
     }
 }
 
-- 
GitLab