Array& ObjectData::reserveProperties(int numDynamic /* = 2 */) {
  if (getAttribute(HasDynPropArr)) {
    return dynPropArray();
  }

  auto const allocsz = MixedArray::computeAllocBytesFromMaxElms(numDynamic);
  if (UNLIKELY(allocsz > kMaxSmallSize && tl_heap->preAllocOOM(allocsz))) {
    check_non_safepoint_surprise();
  }

  return setDynPropArray(
      Array::attach(MixedArray::MakeReserveMixed(numDynamic))
  );
}
Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code.