The idea is that resource type extras, that did not exist in 2.6 format, are not loaded here. They have been set up already. The problem is that pextra->category is set on this point *only* if there was such an ECAT_RESOURCE setup already. With bad luck, the category could have value ECAT_RESOURCE even when there's not been that setup, but the value is uninitialized.
As this is 2.6 -> 3.0 compatibility code, no other branches are affected.
S3_0 ruleset.c has this condition for loading extra information:
if (!compat->compat_mode || compat->ver_terrain >= 10 || pextra->category != ECAT_RESOURCE) {
The idea is that resource type extras, that did not exist in 2.6 format, are not loaded here. They have been set up already. The problem is that pextra->category is set on this point *only* if there was such an ECAT_RESOURCE setup already. With bad luck, the category could have value ECAT_RESOURCE even when there's not been that setup, but the value is uninitialized.
As this is 2.6 -> 3.0 compatibility code, no other branches are affected.