summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2013-08-16 16:49:00 +0200
committerBen Noordhuis <info@bnoordhuis.nl>2013-08-16 16:50:01 +0200
commitf55aca65154e7df01f4bfd1809f200844673f6d4 (patch)
tree31ff5e832b2bebc07b2904b95753ea1a40cd607f /src
parent255650f4d9738fd55800d9f16942f74dcb19f8a9 (diff)
downloadandroid-node-v8-f55aca65154e7df01f4bfd1809f200844673f6d4.tar.gz
android-node-v8-f55aca65154e7df01f4bfd1809f200844673f6d4.tar.bz2
android-node-v8-f55aca65154e7df01f4bfd1809f200844673f6d4.zip
crypto: fix memory leak in randomBytes() error path
This is the conceptual back-port of commit ec54873 from the master branch.
Diffstat (limited to 'src')
-rw-r--r--src/node_crypto.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/node_crypto.cc b/src/node_crypto.cc
index 02b0660ef0..409be357ce 100644
--- a/src/node_crypto.cc
+++ b/src/node_crypto.cc
@@ -4011,7 +4011,9 @@ void RandomBytesCheck(RandomBytesRequest* req, Local<Value> argv[2]) {
Buffer* buffer = Buffer::New(req->data_, req->size_, RandomBytesFree, NULL);
argv[0] = Local<Value>::New(Null());
argv[1] = Local<Object>::New(buffer->handle_);
+ req->data_ = NULL;
}
+ free(req->data_);
}