[ox/mc] Prevent reading array length of absent array

(synced from d7b5f51fdc)
This commit is contained in:
2020-03-30 23:59:01 -05:00
parent a4073e0676
commit afd829a7d7
2 changed files with 13 additions and 10 deletions
+7 -4
View File
@@ -199,10 +199,13 @@ Error MetalClawReader::field(const char*, Handler handler) {
template<typename T>
Error MetalClawReader::field(const char* name, ox::Vector<T> *val) {
const auto [len, err] = arrayLength(false);
oxReturnError(err);
val->resize(len);
return field(name, val->data(), val->size());
if (m_fieldPresence.get(m_field)) {
const auto [len, err] = arrayLength(false);
oxReturnError(err);
val->resize(len);
return field(name, val->data(), val->size());
}
return OxError(0);
}
template<typename T>