diff options
Diffstat (limited to 'src/dnssearch.c')
-rw-r--r-- | src/dnssearch.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/dnssearch.c b/src/dnssearch.c index 55497e8..cbd1a19 100644 --- a/src/dnssearch.c +++ b/src/dnssearch.c @@ -263,15 +263,15 @@ int translate_dnssearch(Slirp *s, const char **names) for (i = 0; i < num_domains; i++) { domains[i].labels = outptr; domain_mklabels(domains + i, names[i]); + if (domains[i].len == 0) { + /* Bogus entry, reject it all */ + g_free(domains); + g_free(result); + return -1; + } outptr += domains[i].len; } - if (outptr == result) { - g_free(domains); - g_free(result); - return -1; - } - qsort(domains, num_domains, sizeof(*domains), domain_suffix_ord); domain_fixup_order(domains, num_domains); |