File bsc_1068709.patch of Package ldns
commit 3bdeed02505c9bbacb3b64a97ddcb1de967153b7
Author: Willem Toorop <willem@nlnetlabs.nl>
Date: Thu Apr 27 00:25:20 2017 +0200
bugfix #1257: Free after reallocing to 0 size
Thanks Stephan Zeisberg
diff --git a/str2host.c b/str2host.c
index b274b17a..f2a317be 100644
--- a/str2host.c
+++ b/str2host.c
@@ -1525,8 +1525,10 @@ ldns_str2rdf_long_str(ldns_rdf **rd, const char *str)
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) {