diff --git a/src/node_crypto.cc b/src/node_crypto.cc index 37a3e95c66..a7955bc92d 100644 --- a/src/node_crypto.cc +++ b/src/node_crypto.cc @@ -286,9 +286,8 @@ static BIO* LoadBIO (Handle v) { String::Utf8Value s(v); r = BIO_write(bio, *s, s.length()); } else if (Buffer::HasInstance(v)) { - Local buffer_obj = v->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char *buffer_data = Buffer::Data(v); + size_t buffer_length = Buffer::Length(v); r = BIO_write(bio, buffer_data, buffer_length); } @@ -659,7 +658,7 @@ Handle SecureContext::LoadPKCS12(const Arguments& args) { if (args.Length() >= 2) { ASSERT_IS_BUFFER(args[1]); - int passlen = Buffer::Length(args[1]->ToObject()); + int passlen = Buffer::Length(args[1]); if (passlen < 0) { BIO_free(in); return ThrowException(Exception::TypeError( @@ -1283,9 +1282,8 @@ Handle Connection::EncIn(const Arguments& args) { String::New("Second argument should be a buffer"))); } - Local buffer_obj = args[0]->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char *buffer_data = Buffer::Data(args[0]); + size_t buffer_length = Buffer::Length(args[0]); size_t off = args[1]->Int32Value(); if (off >= buffer_length) { @@ -1330,9 +1328,8 @@ Handle Connection::ClearOut(const Arguments& args) { String::New("Second argument should be a buffer"))); } - Local buffer_obj = args[0]->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char *buffer_data = Buffer::Data(args[0]); + size_t buffer_length = Buffer::Length(args[0]); size_t off = args[1]->Int32Value(); if (off >= buffer_length) { @@ -1403,9 +1400,8 @@ Handle Connection::EncOut(const Arguments& args) { String::New("Second argument should be a buffer"))); } - Local buffer_obj = args[0]->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char *buffer_data = Buffer::Data(args[0]); + size_t buffer_length = Buffer::Length(args[0]); size_t off = args[1]->Int32Value(); if (off >= buffer_length) { @@ -1443,9 +1439,8 @@ Handle Connection::ClearIn(const Arguments& args) { String::New("Second argument should be a buffer"))); } - Local buffer_obj = args[0]->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char *buffer_data = Buffer::Data(args[0]); + size_t buffer_length = Buffer::Length(args[0]); size_t off = args[1]->Int32Value(); if (off > buffer_length) { @@ -1628,7 +1623,7 @@ Handle Connection::SetSession(const Arguments& args) { } ASSERT_IS_BUFFER(args[0]); - ssize_t slen = Buffer::Length(args[0]->ToObject()); + ssize_t slen = Buffer::Length(args[0]); if (slen < 0) { Local exception = Exception::TypeError(String::New("Bad argument")); @@ -2130,7 +2125,7 @@ class Cipher : public ObjectWrap { } ASSERT_IS_BUFFER(args[1]); - ssize_t key_buf_len = Buffer::Length(args[1]->ToObject()); + ssize_t key_buf_len = Buffer::Length(args[1]); if (key_buf_len < 0) { Local exception = Exception::TypeError(String::New("Bad argument")); @@ -2171,7 +2166,7 @@ class Cipher : public ObjectWrap { } ASSERT_IS_BUFFER(args[1]); - ssize_t key_len = Buffer::Length(args[1]->ToObject()); + ssize_t key_len = Buffer::Length(args[1]); if (key_len < 0) { Local exception = Exception::TypeError(String::New("Bad argument")); @@ -2179,7 +2174,7 @@ class Cipher : public ObjectWrap { } ASSERT_IS_BUFFER(args[2]); - ssize_t iv_len = Buffer::Length(args[2]->ToObject()); + ssize_t iv_len = Buffer::Length(args[2]); if (iv_len < 0) { Local exception = Exception::TypeError(String::New("Bad argument")); @@ -2217,9 +2212,8 @@ class Cipher : public ObjectWrap { unsigned char *out=0; int out_len=0, r; - Local buffer_obj = args[0]->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char* buffer_data = Buffer::Data(args[0]); + size_t buffer_length = Buffer::Length(args[0]); r = cipher->CipherUpdate(buffer_data, buffer_length, &out, &out_len); @@ -2443,7 +2437,7 @@ class Decipher : public ObjectWrap { } ASSERT_IS_BUFFER(args[1]); - ssize_t key_len = Buffer::Length(args[1]->ToObject()); + ssize_t key_len = Buffer::Length(args[1]); if (key_len < 0) { Local exception = Exception::TypeError(String::New("Bad argument")); @@ -2482,7 +2476,7 @@ class Decipher : public ObjectWrap { } ASSERT_IS_BUFFER(args[1]); - ssize_t key_len = Buffer::Length(args[1]->ToObject()); + ssize_t key_len = Buffer::Length(args[1]); if (key_len < 0) { Local exception = Exception::TypeError(String::New("Bad argument")); @@ -2490,7 +2484,7 @@ class Decipher : public ObjectWrap { } ASSERT_IS_BUFFER(args[2]); - ssize_t iv_len = Buffer::Length(args[2]->ToObject()); + ssize_t iv_len = Buffer::Length(args[2]); if (iv_len < 0) { Local exception = Exception::TypeError(String::New("Bad argument")); @@ -2531,9 +2525,8 @@ class Decipher : public ObjectWrap { char* buf; // if alloc_buf then buf must be deleted later bool alloc_buf = false; - Local buffer_obj = args[0]->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char *buffer_data = Buffer::Data(args[0]); + size_t buffer_length = Buffer::Length(args[0]); buf = buffer_data; len = buffer_length; @@ -2682,7 +2675,7 @@ class Hmac : public ObjectWrap { } ASSERT_IS_BUFFER(args[1]); - ssize_t len = Buffer::Length(args[1]->ToObject()); + ssize_t len = Buffer::Length(args[1]); if (len < 0) { Local exception = Exception::TypeError(String::New("Bad argument")); @@ -2694,9 +2687,8 @@ class Hmac : public ObjectWrap { bool r; if( Buffer::HasInstance(args[1])) { - Local buffer_obj = args[1]->ToObject(); - char* buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char* buffer_data = Buffer::Data(args[1]); + size_t buffer_length = Buffer::Length(args[1]); r = hmac->HmacInit(*hashType, buffer_data, buffer_length); } else { @@ -2725,9 +2717,8 @@ class Hmac : public ObjectWrap { int r; - Local buffer_obj = args[0]->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char *buffer_data = Buffer::Data(args[0]); + size_t buffer_length = Buffer::Length(args[0]); r = hmac->HmacUpdate(buffer_data, buffer_length); @@ -2841,9 +2832,8 @@ class Hash : public ObjectWrap { int r; - Local buffer_obj = args[0]->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char *buffer_data = Buffer::Data(args[0]); + size_t buffer_length = Buffer::Length(args[0]); r = hash->HashUpdate(buffer_data, buffer_length); if (!r) { @@ -2994,9 +2984,8 @@ class Sign : public ObjectWrap { int r; - Local buffer_obj = args[0]->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char *buffer_data = Buffer::Data(args[0]); + size_t buffer_length = Buffer::Length(args[0]); r = sign->SignUpdate(buffer_data, buffer_length); @@ -3021,7 +3010,7 @@ class Sign : public ObjectWrap { md_value = new unsigned char[md_len]; ASSERT_IS_BUFFER(args[0]); - ssize_t len = Buffer::Length(args[0]->ToObject()); + ssize_t len = Buffer::Length(args[0]); char* buf = new char[len]; ssize_t written = DecodeWrite(buf, len, args[0], BUFFER); @@ -3206,9 +3195,8 @@ class Verify : public ObjectWrap { int r; - Local buffer_obj = args[0]->ToObject(); - char *buffer_data = Buffer::Data(buffer_obj); - size_t buffer_length = Buffer::Length(buffer_obj); + char *buffer_data = Buffer::Data(args[0]); + size_t buffer_length = Buffer::Length(args[0]); r = verify->VerifyUpdate(buffer_data, buffer_length); @@ -3227,7 +3215,7 @@ class Verify : public ObjectWrap { Verify *verify = ObjectWrap::Unwrap(args.This()); ASSERT_IS_BUFFER(args[0]); - ssize_t klen = Buffer::Length(args[0]->ToObject()); + ssize_t klen = Buffer::Length(args[0]); if (klen < 0) { Local exception = Exception::TypeError(String::New("Bad argument")); @@ -3239,7 +3227,7 @@ class Verify : public ObjectWrap { assert(kwritten == klen); ASSERT_IS_BUFFER(args[1]); - ssize_t hlen = Buffer::Length(args[1]->ToObject()); + ssize_t hlen = Buffer::Length(args[1]); if (hlen < 0) { delete [] kbuf; @@ -3384,10 +3372,9 @@ class DiffieHellman : public ObjectWrap { if (args[0]->IsInt32()) { initialized = diffieHellman->Init(args[0]->Int32Value()); } else { - Local buffer = args[0]->ToObject(); initialized = diffieHellman->Init( - reinterpret_cast(Buffer::Data(buffer)), - Buffer::Length(buffer)); + reinterpret_cast(Buffer::Data(args[0])), + Buffer::Length(args[0])); } } @@ -3551,10 +3538,9 @@ class DiffieHellman : public ObjectWrap { String::New("First argument must be other party's public key"))); } else { ASSERT_IS_BUFFER(args[0]); - Local buffer = args[0]->ToObject(); key = BN_bin2bn( - reinterpret_cast(Buffer::Data(buffer)), - Buffer::Length(buffer), 0); + reinterpret_cast(Buffer::Data(args[0])), + Buffer::Length(args[0]), 0); } int dataSize = DH_size(diffieHellman->dh); @@ -3623,11 +3609,10 @@ class DiffieHellman : public ObjectWrap { String::New("First argument must be public key"))); } else { ASSERT_IS_BUFFER(args[0]); - Local buffer = args[0]->ToObject(); diffieHellman->dh->pub_key = BN_bin2bn( - reinterpret_cast(Buffer::Data(buffer)), - Buffer::Length(buffer), 0); + reinterpret_cast(Buffer::Data(args[0])), + Buffer::Length(args[0]), 0); } return args.This(); @@ -3649,11 +3634,10 @@ class DiffieHellman : public ObjectWrap { String::New("First argument must be private key"))); } else { ASSERT_IS_BUFFER(args[0]); - Local buffer = args[0]->ToObject(); diffieHellman->dh->priv_key = BN_bin2bn( - reinterpret_cast(Buffer::Data(buffer)), - Buffer::Length(buffer), 0); + reinterpret_cast(Buffer::Data(args[0])), + Buffer::Length(args[0]), 0); } return args.This(); @@ -3769,7 +3753,7 @@ Handle PBKDF2(const Arguments& args) { } ASSERT_IS_BUFFER(args[0]); - passlen = Buffer::Length(args[0]->ToObject()); + passlen = Buffer::Length(args[0]); if (passlen < 0) { type_error = "Bad password"; goto err; @@ -3780,7 +3764,7 @@ Handle PBKDF2(const Arguments& args) { assert(pass_written == passlen); ASSERT_IS_BUFFER(args[1]); - saltlen = Buffer::Length(args[1]->ToObject()); + saltlen = Buffer::Length(args[1]); if (saltlen < 0) { type_error = "Bad salt"; goto err;