diff options
Diffstat (limited to 'package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch')
| -rw-r--r-- | package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch b/package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch new file mode 100644 index 0000000000..ec87b18e09 --- /dev/null +++ b/package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch @@ -0,0 +1,47 @@ +From 055ea6aef77058f651b5571d98d2d9458821a977 Mon Sep 17 00:00:00 2001 +From: Matthijs Mekking <matthijs@nlnetlabs.nl> +Date: Wed, 18 Jun 2014 09:55:17 +0200 +Subject: [PATCH] whitespace bug in ldns-read-zone + +[Backport from upstream commit d6037a22fbedb8ef3a22de4107e4eaa36840865b] +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> +--- + rr.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/rr.c b/rr.c +index cfee170..e530702 100644 +--- a/rr.c ++++ b/rr.c +@@ -670,6 +670,18 @@ ldns_rr_new_question_frm_str(ldns_rr **newrr, const char *str, + true); + } + ++static int ++ldns_rr_is_whitespace_line(char* line, int line_len) ++{ ++ int i; ++ for (i = 0; i < line_len; i++) { ++ if (!isspace((int)line[i])) { ++ return 0; ++ } ++ } ++ return 1; ++} ++ + ldns_status + ldns_rr_new_frm_fp(ldns_rr **newrr, FILE *fp, uint32_t *ttl, ldns_rdf **origin, ldns_rdf **prev) + { +@@ -745,6 +757,9 @@ ldns_rr_new_frm_fp_l(ldns_rr **newrr, FILE *fp, uint32_t *default_ttl, ldns_rdf + s = LDNS_STATUS_SYNTAX_TTL; + } else if (strncmp(line, "$INCLUDE", 8) == 0) { + s = LDNS_STATUS_SYNTAX_INCLUDE; ++ } else if (ldns_rr_is_whitespace_line(line, size)) { ++ LDNS_FREE(line); ++ return LDNS_STATUS_SYNTAX_EMPTY; + } else { + if (origin && *origin) { + s = ldns_rr_new_frm_str(&rr, (const char*) line, ttl, *origin, prev); +-- +2.6.4 + |

