| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 1c7396b commit 03936f3
8 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -538,8 +538,11 @@ MaybeLocal<Value> LoadEnvironment(Environment* env, | |||
| 538 | 538 | return LoadEnvironment( | |
| 539 | 539 | env, | |
| 540 | 540 | [&](const StartExecutionCallbackInfo& info) -> MaybeLocal<Value> { | |
| 541 | - Local<Value> main_script = | ||
| 542 | - ToV8Value(env->context(), main_script_source_utf8).ToLocalChecked(); | ||
| 541 | + Local<Value> main_script; | ||
| 542 | + if (!ToV8Value(env->context(), main_script_source_utf8) | ||
| 543 | + .ToLocal(&main_script)) { | ||
| 544 | + return {}; | ||
| 545 | + } | ||
| 543 | 546 | return info.run_cjs->Call( | |
| 544 | 547 | env->context(), Null(env->isolate()), 1, &main_script); | |
| 545 | 548 | }, | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -117,10 +117,13 @@ int JSStream::DoWrite(WriteWrap* w, | |||
| 117 | 117 | HandleScope scope(env()->isolate()); | |
| 118 | 118 | Context::Scope context_scope(env()->context()); | |
| 119 | 119 | ||
| 120 | + int value_int = UV_EPROTO; | ||
| 121 | + | ||
| 120 | 122 | MaybeStackBuffer<Local<Value>, 16> bufs_arr(count); | |
| 121 | 123 | for (size_t i = 0; i < count; i++) { | |
| 122 | - bufs_arr[i] = | ||
| 123 | - Buffer::Copy(env(), bufs[i].base, bufs[i].len).ToLocalChecked(); | ||
| 124 | + if (!Buffer::Copy(env(), bufs[i].base, bufs[i].len).ToLocal(&bufs_arr[i])) { | ||
| 125 | + return value_int; | ||
| 126 | + } | ||
| 124 | 127 | } | |
| 125 | 128 | ||
| 126 | 129 | Local<Value> argv[] = { | |
@@ -130,7 +133,6 @@ int JSStream::DoWrite(WriteWrap* w, | |||
| 130 | 133 | ||
| 131 | 134 | TryCatchScope try_catch(env()); | |
| 132 | 135 | Local<Value> value; | |
| 133 | - int value_int = UV_EPROTO; | ||
| 134 | 136 | if (!MakeCallback(env()->onwrite_string(), | |
| 135 | 137 | arraysize(argv), | |
| 136 | 138 | argv).ToLocal(&value) || | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -99,8 +99,9 @@ ssize_t JSUDPWrap::Send(uv_buf_t* bufs, | |||
| 99 | 99 | ||
| 100 | 100 | MaybeStackBuffer<Local<Value>, 16> buffers(nbufs); | |
| 101 | 101 | for (size_t i = 0; i < nbufs; i++) { | |
| 102 | - buffers[i] = Buffer::Copy(env(), bufs[i].base, bufs[i].len) | ||
| 103 | - .ToLocalChecked(); | ||
| 102 | + if (!Buffer::Copy(env(), bufs[i].base, bufs[i].len).ToLocal(&buffers[i])) { | ||
| 103 | + return value_int; | ||
| 104 | + } | ||
| 104 | 105 | total_len += bufs[i].len; | |
| 105 | 106 | } | |
| 106 | 107 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1366,7 +1366,12 @@ bool ContextifyScript::EvalMachine(Local<Context> context, | |||
| 1366 | 1366 | return false; | |
| 1367 | 1367 | } | |
| 1368 | 1368 | ||
| 1369 | - args.GetReturnValue().Set(result.ToLocalChecked()); | ||
| 1369 | + // We checked for res being empty previously so this is a bit redundant | ||
| 1370 | + // but still safer than using ToLocalChecked. | ||
| 1371 | + Local<Value> res; | ||
| 1372 | + if (!result.ToLocal(&res)) return false; | ||
| 1373 | + | ||
| 1374 | + args.GetReturnValue().Set(res); | ||
| 1370 | 1375 | return true; | |
| 1371 | 1376 | } | |
| 1372 | 1377 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -414,8 +414,11 @@ class NgRcBufPointer : public MemoryRetainer { | |||
| 414 | 414 | const char* header_name = reinterpret_cast<const char*>(ptr.data()); | |
| 415 | 415 | v8::Eternal<v8::String>& eternal = static_str_map[header_name]; | |
| 416 | 416 | if (eternal.IsEmpty()) { | |
| 417 | - v8::Local<v8::String> str = | ||
| 418 | - GetInternalizedString(env, ptr).ToLocalChecked(); | ||
| 417 | + v8::Local<v8::String> str; | ||
| 418 | + if (!GetInternalizedString(env, ptr).ToLocal(&str)) { | ||
| 419 | + ptr.reset(); | ||
| 420 | + return {}; | ||
| 421 | + } | ||
| 419 | 422 | eternal.Set(env->isolate(), str); | |
| 420 | 423 | return str; | |
| 421 | 424 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -53,10 +53,12 @@ MaybeLocal<Object> PipeWrap::Instantiate(Environment* env, | |||
| 53 | 53 | EscapableHandleScope handle_scope(env->isolate()); | |
| 54 | 54 | AsyncHooks::DefaultTriggerAsyncIdScope trigger_scope(parent); | |
| 55 | 55 | CHECK_EQ(false, env->pipe_constructor_template().IsEmpty()); | |
| 56 | - Local<Function> constructor = env->pipe_constructor_template() | ||
| 57 | - ->GetFunction(env->context()) | ||
| 58 | - .ToLocalChecked(); | ||
| 59 | - CHECK_EQ(false, constructor.IsEmpty()); | ||
| 56 | + Local<Function> constructor; | ||
| 57 | + if (!env->pipe_constructor_template() | ||
| 58 | + ->GetFunction(env->context()) | ||
| 59 | + .ToLocal(&constructor)) { | ||
| 60 | + return {}; | ||
| 61 | + } | ||
| 60 | 62 | Local<Value> type_value = Int32::New(env->isolate(), type); | |
| 61 | 63 | return handle_scope.EscapeMaybe( | |
| 62 | 64 | constructor->NewInstance(env->context(), 1, &type_value)); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -59,10 +59,12 @@ MaybeLocal<Object> TCPWrap::Instantiate(Environment* env, | |||
| 59 | 59 | EscapableHandleScope handle_scope(env->isolate()); | |
| 60 | 60 | AsyncHooks::DefaultTriggerAsyncIdScope trigger_scope(parent); | |
| 61 | 61 | CHECK_EQ(env->tcp_constructor_template().IsEmpty(), false); | |
| 62 | - Local<Function> constructor = env->tcp_constructor_template() | ||
| 63 | - ->GetFunction(env->context()) | ||
| 64 | - .ToLocalChecked(); | ||
| 65 | - CHECK_EQ(constructor.IsEmpty(), false); | ||
| 62 | + Local<Function> constructor; | ||
| 63 | + if (!env->tcp_constructor_template() | ||
| 64 | + ->GetFunction(env->context()) | ||
| 65 | + .ToLocal(&constructor)) { | ||
| 66 | + return {}; | ||
| 67 | + } | ||
| 66 | 68 | Local<Value> type_value = Int32::New(env->isolate(), type); | |
| 67 | 69 | return handle_scope.EscapeMaybe( | |
| 68 | 70 | constructor->NewInstance(env->context(), 1, &type_value)); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -807,8 +807,11 @@ v8::Maybe<int32_t> GetValidatedFd(Environment* env, | |||
| 807 | 807 | const bool is_out_of_range = fd < 0 || fd > INT32_MAX; | |
| 808 | 808 | ||
| 809 | 809 | if (is_out_of_range || !IsSafeJsInt(input)) { | |
| 810 | - Utf8Value utf8_value( | ||
| 811 | - env->isolate(), input->ToDetailString(env->context()).ToLocalChecked()); | ||
| 810 | + Local<String> str; | ||
| 811 | + if (!input->ToDetailString(env->context()).ToLocal(&str)) { | ||
| 812 | + return v8::Nothing<int32_t>(); | ||
| 813 | + } | ||
| 814 | + Utf8Value utf8_value(env->isolate(), str); | ||
| 812 | 815 | if (is_out_of_range && !std::isinf(fd)) { | |
| 813 | 816 | THROW_ERR_OUT_OF_RANGE(env, | |
| 814 | 817 | "The value of \"fd\" is out of range. " | |
| Back | FazBrowse Home | New Git URL |
0 commit comments