@@ -401,8 +401,12 @@ static MaybeLocal<Object> ConvertHeapStatsToJSObject(
401401 isolate, static_cast <uint32_t >(object_stats.allocated_bytes )),
402402 Uint32::NewFromUnsigned (
403403 isolate, static_cast <uint32_t >(object_stats.object_count ))};
404- Local<Object> object_stats_object =
405- object_stats_template->NewInstance (context, object_stats_values);
404+ Local<Object> object_stats_object;
405+ if (!CheckedDictionaryInstance (
406+ object_stats_template, context, object_stats_values)
407+ .ToLocal (&object_stats_object)) {
408+ return {};
409+ }
406410 object_statistics_array.emplace_back (object_stats_object);
407411 }
408412
@@ -417,8 +421,12 @@ static MaybeLocal<Object> ConvertHeapStatsToJSObject(
417421 Array::New (isolate,
418422 object_statistics_array.data (),
419423 object_statistics_array.size ())};
420- page_statistics_array.emplace_back (
421- page_stats_tmpl->NewInstance (context, page_stats_values));
424+ Local<Object> page_stats_object;
425+ if (!CheckedDictionaryInstance (
426+ page_stats_tmpl, context, page_stats_values)
427+ .ToLocal (&page_stats_object)) {
428+ return {};
429+ }
422430 }
423431
424432 // Free List Statistics
@@ -456,8 +464,13 @@ static MaybeLocal<Object> ConvertHeapStatsToJSObject(
456464 page_statistics_array.size ()),
457465 free_list_statistics_obj,
458466 };
459- space_statistics_array.emplace_back (
460- space_stats_tmpl->NewInstance (context, space_stats_values));
467+ Local<Object> space_stats_object;
468+ if (!CheckedDictionaryInstance (
469+ space_stats_tmpl, context, space_stats_values)
470+ .ToLocal (&space_stats_object)) {
471+ return {};
472+ }
473+ space_statistics_array.emplace_back (space_stats_object);
461474 }
462475
463476 Local<Value> type_names_value;
@@ -476,8 +489,8 @@ static MaybeLocal<Object> ConvertHeapStatsToJSObject(
476489 space_statistics_array.data (),
477490 space_statistics_array.size ()),
478491 type_names_value};
479-
480- return heap_stats_tmpl-> NewInstance ( context, heap_statistics_values);
492+ return CheckedDictionaryInstance (
493+ heap_stats_tmpl, context, heap_statistics_values);
481494}
482495
483496static void GetCppHeapStatistics (const FunctionCallbackInfo<Value>& args) {
0 commit comments