From: Ben Noordhuis Date: Fri, 16 Aug 2013 14:42:50 +0000 (+0200) Subject: crypto: fix memory leak in randomBytes() error path X-Git-Tag: v0.11.6~23 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ec548734cae52713432addacc6787b87f5c5051e;p=platform%2Fupstream%2Fnodejs.git crypto: fix memory leak in randomBytes() error path --- diff --git a/src/node_crypto.cc b/src/node_crypto.cc index 665010b..0344d20 100644 --- a/src/node_crypto.cc +++ b/src/node_crypto.cc @@ -3422,7 +3422,7 @@ void RandomBytesCheck(RandomBytesRequest* req, Local argv[2]) { if (req->error_) { char errmsg[256] = "Operation not supported"; - if (req->error_ != (unsigned long) -1) + if (req->error_ != static_cast(-1)) ERR_error_string_n(req->error_, errmsg, sizeof errmsg); argv[0] = Exception::Error(OneByteString(node_isolate, errmsg)); @@ -3430,7 +3430,9 @@ void RandomBytesCheck(RandomBytesRequest* req, Local argv[2]) { } else { argv[0] = Null(node_isolate); argv[1] = Buffer::Use(req->data_, req->size_); + req->data_ = NULL; } + free(req->data_); }