]> source.dussan.org Git - rspamd.git/commitdiff
Another fix to punycode
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 20 Jan 2016 16:24:22 +0000 (16:24 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 20 Jan 2016 16:24:22 +0000 (16:24 +0000)
contrib/librdns/packet.c

index 6ce3f50fac696af5b50eff2ffa351555c4e8047e..c07418604ec68683c97adee832b94f49d6077f9d 100644 (file)
@@ -129,9 +129,9 @@ rdns_format_dns_name (struct rdns_resolver *resolver, const char *in,
        }
 
        /* We need to encode */
-
        p = in;
-       olen = inlen + 1 + sizeof ("xn--") * labels;
+       /* We allocate 4 times more memory as we cannot guarantee encoding bounds */
+       olen = inlen * sizeof (guint32) + 1 + sizeof ("xn--") * labels;
        *out = malloc (olen + 1);
 
        if (*out == NULL) {