diff --git a/src/iri.c b/src/iri.c index d5c47144..351357da 100644 --- a/src/iri.c +++ b/src/iri.c @@ -191,7 +191,13 @@ do_conversion (const char *tocode, const char *fromcode, char const *in_org, siz tooshort++; done = len; len = done + inlen * 2; - s = xrealloc (s, len + 1); + char *s_new = xrealloc (s, len + 1); + if (s_new != s) + { + /* Help valgrind by initializing additional memory. */ + s = s_new; + memset(s + done, 0, inlen * 2 + 1); + } *out = s + done - outlen; outlen += inlen * 2; }