[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