This commit improves DNA parsing resilience to data corruption in two ways: * Detect and abort on failure to allocate requested amount of memory. * Detect multiple usages of the same `type_index` by different struct definitions. The second part fixes the `dna_genfile.cc:1918:40.blend` case reported in #137870. Pull Request: https://projects.blender.org/blender/blender/pulls/139803