diff --git a/lib/wind/idn-lookup.c b/lib/wind/idn-lookup.c index 45da15633..5b71a8fed 100644 --- a/lib/wind/idn-lookup.c +++ b/lib/wind/idn-lookup.c @@ -69,12 +69,17 @@ lookup(const char *name) struct addrinfo *ai; size_t u_len = strlen(name); - uint32_t *u = calloc(u_len, sizeof(uint32_t)); - size_t norm_len = u_len * 2; - uint32_t *norm = calloc(norm_len, sizeof(uint32_t)); + uint32_t *u; + size_t norm_len = u_len * 8; + uint32_t *norm; + if (u_len == 0) + return; + + u = calloc(u_len, sizeof(uint32_t)); if (u == NULL && u_len != 0) errx(1, "malloc failed"); + norm = calloc(norm_len, sizeof(uint32_t)); if (norm == NULL && norm_len != 0) errx(1, "malloc failed"); @@ -156,9 +161,7 @@ main(int argc, char **argv) if (argc == 0) usage(1); - for (i = 0; i < argc; ++i) { - if (argv[i][0]) /* Quiet lint */ - lookup(argv[i]); - } + for (i = 0; i < argc; ++i) + lookup(argv[i]); return 0; }