0002-fix-whitespace-bug-in-ldns-read-zone.patch 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. Dwonloaded from
  2. http://anonscm.debian.org/cgit/pkg-nlnetlabs/ldns.git/tree/debian/patches/fix-whitespace-bug-in-ldns-read-zone.patch
  3. which is a backport from
  4. http://git.nlnetlabs.nl/ldns/commit/?h=develop&id=d6037a22fbedb8ef3a22de4107e4eaa36840865b
  5. Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
  6. From d6037a22fbedb8ef3a22de4107e4eaa36840865b Mon Sep 17 00:00:00 2001
  7. From: Matthijs Mekking <matthijs@nlnetlabs.nl>
  8. Date: Wed, 18 Jun 2014 09:55:17 +0200
  9. Subject: whitespace bug in ldns-read-zone
  10. ---
  11. --- ldns.orig/rr.c
  12. +++ ldns/rr.c
  13. @@ -670,6 +670,18 @@ ldns_rr_new_question_frm_str(ldns_rr **n
  14. true);
  15. }
  16. +static int
  17. +ldns_rr_is_whitespace_line(char* line, int line_len)
  18. +{
  19. + int i;
  20. + for (i = 0; i < line_len; i++) {
  21. + if (!isspace((int)line[i])) {
  22. + return 0;
  23. + }
  24. + }
  25. + return 1;
  26. +}
  27. +
  28. ldns_status
  29. ldns_rr_new_frm_fp(ldns_rr **newrr, FILE *fp, uint32_t *ttl, ldns_rdf **origin, ldns_rdf **prev)
  30. {
  31. @@ -745,6 +757,9 @@ ldns_rr_new_frm_fp_l(ldns_rr **newrr, FI
  32. s = LDNS_STATUS_SYNTAX_TTL;
  33. } else if (strncmp(line, "$INCLUDE", 8) == 0) {
  34. s = LDNS_STATUS_SYNTAX_INCLUDE;
  35. + } else if (ldns_rr_is_whitespace_line(line, size)) {
  36. + LDNS_FREE(line);
  37. + return LDNS_STATUS_SYNTAX_EMPTY;
  38. } else {
  39. if (origin && *origin) {
  40. s = ldns_rr_new_frm_str(&rr, (const char*) line, ttl, *origin, prev);