unit_type_free() does requirement_vector_free(&(punittype->build_reqs)); within a "if (NULL != punittype->helptext) {" -block. So the requirement vector is not freed if the unit has no hand-written helptext.
I found this when I were looking if a bug could be explained by some unit requirements from earlier rulesets leaking to a newly loaded one. Not sure if this one could have such an effect.
unit_type_free() does requirement_vector_free(&(punittype->build_reqs)); within a "if (NULL != punittype->helptext) {" -block. So the requirement vector is not freed if the unit has no hand-written helptext.
I found this when I were looking if a bug could be explained by some unit requirements from earlier rulesets leaking to a newly loaded one. Not sure if this one could have such an effect.