Fix accesses after the eos.

MatchMultipleChar assumed wrongly that cmp(width, ...) was not accessing more
than width bytes.  Introduce a variable length compare cmp_safe() functions to
solve that.