Browse Source

crypto: fix memory leak in randomBytes() error path

v0.11.6-release
Ben Noordhuis 12 years ago
parent
commit
ec548734ca
  1. 4
      src/node_crypto.cc

4
src/node_crypto.cc

@ -3422,7 +3422,7 @@ void RandomBytesCheck(RandomBytesRequest* req, Local<Value> argv[2]) {
if (req->error_) {
char errmsg[256] = "Operation not supported";
if (req->error_ != (unsigned long) -1)
if (req->error_ != static_cast<unsigned long>(-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<Value> argv[2]) {
} else {
argv[0] = Null(node_isolate);
argv[1] = Buffer::Use(req->data_, req->size_);
req->data_ = NULL;
}
free(req->data_);
}

Loading…
Cancel
Save