Dan Burkert has posted comments on this change.

Change subject: Fix encoding-test on OS X
......................................................................


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3640/1/src/kudu/cfile/encoding-test.cc
File src/kudu/cfile/encoding-test.cc:

Line 80:       string *val = new string(StringPrintf(fmt_str, i));
This is leaking the string since it's never deallocated.  I think the fix here 
is to have change to_insert to be a 'vector<unique_ptr<string>>' like this:


diff --git a/src/kudu/cfile/encoding-test.cc b/src/kudu/cfile/encoding-test.cc
index 0e6a6d9..40d61a2 100644
--- a/src/kudu/cfile/encoding-test.cc
+++ b/src/kudu/cfile/encoding-test.cc
@@ -18,6 +18,7 @@
 #include <glog/logging.h>
 #include <gtest/gtest.h>
 #include <limits>
+#include <memory>
 #include <stdlib.h>
 #include <vector>

@@ -39,6 +40,7 @@
 #include "kudu/util/test_macros.h"
 #include "kudu/util/stopwatch.h"

+using std::unique_ptr;
 using std::vector;

 namespace kudu { namespace cfile {
@@ -73,15 +75,14 @@ class TestEncoding : public ::testing::Test {
   static Slice CreateBinaryBlock(BuilderType *sbb,
                                  int num_items,
                                  const char *fmt_str) {
-    vector<string> to_insert;
+    vector<unique_ptr<string>> to_insert;
     std::vector<Slice> slices;

     for (uint i = 0; i < num_items; i++) {
-      to_insert.emplace_back(StringPrintf(fmt_str, i));
-      slices.push_back(Slice(to_insert.back()));
+      to_insert.emplace_back(new string(StringPrintf(fmt_str, i)));
+      slices.push_back(Slice(to_insert.back()->data()));
     }

-
     int rem = slices.size();
     Slice *ptr = &slices[0];
     while (rem > 0) {


-- 
To view, visit http://gerrit.cloudera.org:8080/3640
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie221906ee3960fa158843c2ae2dd7a531e74c5c4
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Will Berkeley <wdberke...@gmail.com>
Gerrit-Reviewer: Dan Burkert <d...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: Yes

Reply via email to