]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
fix $INCLUDE
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 30 Jan 2018 11:12:22 +0000 (11:12 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 30 Jan 2018 11:12:22 +0000 (11:12 +0000)
git-svn-id: file:///svn/unbound/trunk@4467 be551aaa-1e26-0410-a405-d3ace91eadb9

services/authzone.c

index 03ef37854f3b2907166ac80a829c3bbe0598e8e4..c9fc2eb0bf0ce3478738ea13a7b070cd47ff07ac 100644 (file)
@@ -1451,6 +1451,11 @@ az_parse_file(struct auth_zone* z, FILE* in, uint8_t* rr, size_t rrbuflen,
                                /* skip spaces */
                                while(*incfile == ' ' || *incfile == '\t')
                                        incfile++;
+                               incfile = strdup(incfile);
+                               if(!incfile) {
+                                       log_err("malloc failure");
+                                       return 0;
+                               }
                                verbose(VERB_ALGO, "opening $INCLUDE %s",
                                        incfile);
                                inc = fopen(incfile, "r");
@@ -1459,6 +1464,7 @@ az_parse_file(struct auth_zone* z, FILE* in, uint8_t* rr, size_t rrbuflen,
                                                "file %s: %s", z->zonefile,
                                                lineno_orig, incfile,
                                                strerror(errno));
+                                       free(incfile);
                                        return 0;
                                }
                                /* recurse read that file now */
@@ -1473,6 +1479,7 @@ az_parse_file(struct auth_zone* z, FILE* in, uint8_t* rr, size_t rrbuflen,
                                fclose(inc);
                                verbose(VERB_ALGO, "done with $INCLUDE %s",
                                        incfile);
+                               free(incfile);
                                state->lineno = lineno_orig;
                        }
                        continue;