diff -Naur -x '*.orig' -x '*.rej' ldns-1.6.17/str2host.c ldns-1.6.17-check-parse-limit/str2host.c --- ldns-1.6.17/str2host.c 2014-01-10 22:04:41.000000000 +0100 +++ ldns-1.6.17-check-parse-limit/str2host.c 2017-12-28 19:03:16.351196408 +0100 @@ -1458,8 +1458,10 @@ if (! str) { return LDNS_STATUS_SYNTAX_BAD_ESCAPE; } - length = (size_t)(dp - data); - + if (!(length = (size_t)(dp - data))) { + LDNS_FREE(data); + return LDNS_STATUS_SYNTAX_EMPTY; + } /* Lose the overmeasure */ data = LDNS_XREALLOC(dp = data, uint8_t, length); if (! data) {