From: mscdex Date: Sun, 21 Apr 2013 03:21:13 +0000 (-0400) Subject: src: fix potential memory leak on early return X-Git-Tag: v0.10.5~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c4379a5554e421c55a38baaee4775b5c13a288d3;p=platform%2Fupstream%2Fnodejs.git src: fix potential memory leak on early return --- diff --git a/src/node_crypto.cc b/src/node_crypto.cc index 10d5d2c..797a39b 100644 --- a/src/node_crypto.cc +++ b/src/node_crypto.cc @@ -3009,9 +3009,6 @@ class Sign : public ObjectWrap { unsigned int md_len; Local outString; - md_len = 8192; // Maximum key size is 8192 bits - md_value = new unsigned char[md_len]; - ASSERT_IS_BUFFER(args[0]); ssize_t len = Buffer::Length(args[0]); @@ -3019,6 +3016,9 @@ class Sign : public ObjectWrap { ssize_t written = DecodeWrite(buf, len, args[0], BUFFER); assert(written == len); + md_len = 8192; // Maximum key size is 8192 bits + md_value = new unsigned char[md_len]; + int r = sign->SignFinal(&md_value, &md_len, buf, len); if (r == 0) { md_value = NULL;