Blame SOURCES/wget-1.14-CVE-2019-5953.patch

226bdc
diff --git a/src/iri.c b/src/iri.c
226bdc
index 9b16639..da9dc7f 100644
226bdc
--- a/src/iri.c
226bdc
+++ b/src/iri.c
226bdc
@@ -183,17 +183,12 @@ do_conversion (iconv_t cd, char *in, size_t inlen, char **out)
226bdc
         }
226bdc
       else if (errno == E2BIG) /* Output buffer full */
226bdc
         {
226bdc
-          char *new;
226bdc
-
226bdc
           tooshort++;
226bdc
           done = len;
226bdc
-          outlen = done + inlen * 2;
226bdc
-          new = xmalloc (outlen + 1);
226bdc
-          memcpy (new, s, done);
226bdc
-          xfree (s);
226bdc
-          s = new;
226bdc
-          len = outlen;
226bdc
-          *out = s + done;
226bdc
+          len = done + inlen * 2;
226bdc
+          s = xrealloc (s, len + 1);
226bdc
+          *out = s + done - outlen;
226bdc
+          outlen += inlen * 2;
226bdc
         }
226bdc
       else /* Weird, we got an unspecified error */
226bdc
         {