[Pkg-javascript-commits] [node-leveldown] 340/492: proper memory leak fix

Andrew Kelley andrewrk-guest at moszumanska.debian.org
Sun Jul 6 17:14:15 UTC 2014


This is an automated email from the git hooks/post-receive script.

andrewrk-guest pushed a commit to annotated tag rocksdb-0.10.1
in repository node-leveldown.

commit 9251b15630664531a8ecf38cb9d3e460e101883d
Author: Rod Vagg <rod at vagg.org>
Date:   Sat May 18 12:28:41 2013 +1000

    proper memory leak fix
---
 src/database.cc        | 1 +
 src/database_async.cc  | 6 +++---
 src/leveldown.h        | 2 +-
 src/leveldown_async.cc | 4 ++--
 4 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/database.cc b/src/database.cc
index 4b4dde3..b3cddf9 100644
--- a/src/database.cc
+++ b/src/database.cc
@@ -28,6 +28,7 @@ Database::Database (char* location) : location(location) {
 Database::~Database () {
   if (db != NULL)
     delete db;
+  delete[] location;
 };
 
 const char* Database::Location() const { return location; }
diff --git a/src/database_async.cc b/src/database_async.cc
index ef24498..ce4b648 100644
--- a/src/database_async.cc
+++ b/src/database_async.cc
@@ -84,8 +84,8 @@ IOWorker::IOWorker (
 IOWorker::~IOWorker () {}
 
 void IOWorker::WorkComplete () {
-  AsyncWorker::WorkComplete();
   DisposeStringOrBufferFromSlice(keyPtr, key);
+  AsyncWorker::WorkComplete();
 }
 
 /** READ WORKER **/
@@ -171,8 +171,8 @@ void WriteWorker::Execute () {
 }
 
 void WriteWorker::WorkComplete () {
-  IOWorker::WorkComplete();
   DisposeStringOrBufferFromSlice(valuePtr, value);
+  IOWorker::WorkComplete();
 }
 
 /** BATCH WORKER **/
@@ -222,9 +222,9 @@ void ApproximateSizeWorker::Execute () {
 }
 
 void ApproximateSizeWorker::WorkComplete() {
-  AsyncWorker::WorkComplete();
   DisposeStringOrBufferFromSlice(startPtr, range.start);
   DisposeStringOrBufferFromSlice(endPtr, range.limit);
+  AsyncWorker::WorkComplete();
 }
 
 void ApproximateSizeWorker::HandleOKCallback () {
diff --git a/src/leveldown.h b/src/leveldown.h
index 67d0c80..af55581 100644
--- a/src/leveldown.h
+++ b/src/leveldown.h
@@ -86,7 +86,7 @@ static inline void DisposeStringOrBufferFromSlice(v8::Persistent<v8::Value> ptr
       , leveldb::Slice slice) {
 
   if (!node::Buffer::HasInstance(ptr))
-    delete slice.data();
+    delete[] slice.data();
   ptr.Dispose(LD_NODE_ISOLATE);
 }
 
diff --git a/src/leveldown_async.cc b/src/leveldown_async.cc
index 2a09c90..008f425 100644
--- a/src/leveldown_async.cc
+++ b/src/leveldown_async.cc
@@ -20,7 +20,7 @@ DestroyWorker::DestroyWorker (
 {};
 
 DestroyWorker::~DestroyWorker () {
-  delete location;
+  delete[] location;
 }
 
 void DestroyWorker::Execute () {
@@ -38,7 +38,7 @@ RepairWorker::RepairWorker (
 {};
 
 RepairWorker::~RepairWorker () {
-  delete location;
+  delete[] location;
 }
 
 void RepairWorker::Execute () {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-leveldown.git



More information about the Pkg-javascript-commits mailing list