The ubsan triggers:
UBSAN: Undefined behaviour in programs/charmap.c:908:2 null pointer passed as argument 2, nonnull attribute declared at unknown:0:0
This is not an isseu since size is always '0' in this case.
(struct width_rule *) obstack_alloc (&result->mem_pool,
(new_size
* sizeof (struct width_rule)));
-
- memcpy (new_rules, result->width_rules,
- result->nwidth_rules_max * sizeof (struct width_rule));
+ if (result->width_rules != NULL)
+ memcpy (new_rules, result->width_rules,
+ result->nwidth_rules_max * sizeof (struct width_rule));
result->width_rules = new_rules;
result->nwidth_rules_max = new_size;