@@ -30,6 +30,7 @@ namespace node {
3030using ncrypto::DataPointer;
3131using ncrypto::EVPMDCtxPointer;
3232using ncrypto::MarkPopErrorOnReturn;
33+ using v8::ArrayBuffer;
3334using v8::Context;
3435using v8::FunctionCallbackInfo;
3536using v8::FunctionTemplate;
@@ -43,8 +44,11 @@ using v8::Maybe;
4344using v8::MaybeLocal;
4445using v8::Name;
4546using v8::Nothing;
47+ using v8::Null;
4648using v8::Object;
49+ using v8::String;
4750using v8::Uint32;
51+ using v8::Uint8Array;
4852using v8::Value;
4953
5054namespace crypto {
@@ -195,12 +199,12 @@ void Hash::GetCachedAliases(const FunctionCallbackInfo<Value>& args) {
195199 values.reserve (size);
196200 for (auto & [alias, id] : env->alias_to_md_id_map ) {
197201 names.push_back (OneByteString (isolate, alias));
198- values.push_back (v8:: Uint32::New (isolate, id));
202+ values.push_back (Uint32::New (isolate, id));
199203 }
200204#else
201205 CHECK (env->alias_to_md_id_map .empty ());
202206#endif
203- Local<Value> prototype = v8:: Null (isolate);
207+ Local<Value> prototype = Null (isolate);
204208 Local<Object> result =
205209 Object::New (isolate, prototype, names.data (), values.data (), size);
206210 args.GetReturnValue ().Set (result);
@@ -233,7 +237,7 @@ const EVP_MD* GetDigestImplementation(Environment* env,
233237 if (algorithm_cache.As <Object>()
234238 ->Set (isolate->GetCurrentContext (),
235239 algorithm,
236- v8:: Int32::New (isolate, result.cache_id ))
240+ Int32::New (isolate, result.cache_id ))
237241 .IsNothing ()) {
238242 return nullptr ;
239243 }
@@ -333,11 +337,13 @@ void Hash::OneShotDigest(const FunctionCallbackInfo<Value>& args) {
333337
334338 if (output_length == 0 ) {
335339 if (output_enc == BUFFER ) {
336- Local<v8::ArrayBuffer> ab = v8::ArrayBuffer::New (isolate, 0 );
337- args.GetReturnValue ().Set (
338- Buffer::New (isolate, ab, 0 , 0 ).ToLocalChecked ());
340+ Local<Uint8Array> u8 ;
341+ if (Buffer::New (isolate, ArrayBuffer::New (isolate, 0 ), 0 , 0 )
342+ .ToLocal (&u8 )) {
343+ args.GetReturnValue ().Set (u8 );
344+ }
339345 } else {
340- args.GetReturnValue ().Set (v8:: String::Empty (isolate));
346+ args.GetReturnValue ().Set (String::Empty (isolate));
341347 }
342348 return ;
343349 }
0 commit comments