File tree 2 files changed +10
-4
lines changed
include/nlohmann/detail/conversions
2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -153,8 +153,11 @@ struct external_constructor<value_t::array>
153
153
{
154
154
j.m_type = value_t ::array;
155
155
j.m_value = value_t ::array;
156
- j.m_value .array ->resize (arr.size ());
157
- std::copy (std::begin (arr), std::end (arr), j.m_value .array ->begin ());
156
+ if (arr.size () > 0 )
157
+ {
158
+ j.m_value .array ->resize (arr.size ());
159
+ std::copy (std::begin (arr), std::end (arr), j.m_value .array ->begin ());
160
+ }
158
161
j.assert_invariant ();
159
162
}
160
163
};
Original file line number Diff line number Diff line change @@ -3488,8 +3488,11 @@ struct external_constructor<value_t::array>
3488
3488
{
3489
3489
j.m_type = value_t::array;
3490
3490
j.m_value = value_t::array;
3491
- j.m_value.array->resize(arr.size());
3492
- std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin());
3491
+ if (arr.size() > 0)
3492
+ {
3493
+ j.m_value.array->resize(arr.size());
3494
+ std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin());
3495
+ }
3493
3496
j.assert_invariant();
3494
3497
}
3495
3498
};
You can’t perform that action at this time.
0 commit comments