While thinking about #230, I was reminded of a different potential issue that I've seen in the past.
Since v4 identity data (poseest/instance_embed_id) uses values starting at 1, we subtract 1 to sort the arrays by animal.
If a writer accidentally uses a starting value of 0 or assigned identity masking is improperly stored, we get integer wraparound and a related crash.
Proposed new check: check that no unmasked (poseest/id_mask == 0) identity data (poseest/instance_embed_id) gets a value of 0.
While thinking about #230, I was reminded of a different potential issue that I've seen in the past.
Since v4 identity data (
poseest/instance_embed_id) uses values starting at 1, we subtract 1 to sort the arrays by animal.If a writer accidentally uses a starting value of 0 or assigned identity masking is improperly stored, we get integer wraparound and a related crash.
Proposed new check: check that no unmasked (
poseest/id_mask == 0) identity data (poseest/instance_embed_id) gets a value of 0.