Cryptomatte: Fix error loading incomplete metadata.
When rendering with cycles at some point the manifest is trimmed. This leads to incomplete/corrupted metadata. This patch will make sure that the manifest parser doesn't crash. This solved the issue when the manifest is trimmed at the start of a hash. Eg '"Name":"'.
This commit is contained in:
@@ -425,6 +425,9 @@ static bool from_manifest(CryptomatteLayer &layer, blender::StringRefNull manife
|
||||
}
|
||||
|
||||
const int quoted_hash_len = quoted_string_len_(ref);
|
||||
if (quoted_hash_len < 2) {
|
||||
return false;
|
||||
}
|
||||
const int hash_len = quoted_hash_len - 2;
|
||||
CryptomatteHash hash = CryptomatteHash::from_hex_encoded(ref.substr(1, hash_len));
|
||||
ref = ref.drop_prefix(quoted_hash_len);
|
||||
|
||||
Reference in New Issue
Block a user