--- a/src/iri.c 2018-05-05 16:46:22.000000000 -0400 +++ b/src/iri_1.c 2019-06-18 22:40:45.284000000 -0400 @@ -189,9 +189,10 @@ do_conversion (const char *tocode, const { tooshort++; done = len; - len = outlen = done + inlen * 2; - s = xrealloc (s, outlen + 1); - *out = s + done; + len = done + inlen * 2; + s = xrealloc (s, len + 1); + *out = s + done - outlen; + outlen += inlen * 2; } else /* Weird, we got an unspecified error */ {