summaryrefslogtreecommitdiffstats
path: root/package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch
diff options
context:
space:
mode:
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.patch47
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
+
OpenPOWER on IntegriCloud