]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
cp filename may be NULL
authorAlan T. DeKok <aland@freeradius.org>
Thu, 28 May 2015 15:28:39 +0000 (11:28 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 28 May 2015 15:29:26 +0000 (11:29 -0400)
src/main/conffile.c

index ebc364f27de4ae1ab0414b6b205b90e3dc3f8732..0f18c033624a12ee830fdd4943c91ede45b9ba62 100644 (file)
@@ -362,7 +362,7 @@ CONF_PAIR *cf_pair_dup(CONF_SECTION *parent, CONF_PAIR *cp)
        /*
         *      Avoid mallocs if possible.
         */
-       if (strcmp(parent->item.filename, cp->item.filename) == 0) {
+       if (!cp->item.filename || (strcmp(parent->item.filename, cp->item.filename) == 0)) {
                new->item.filename = parent->item.filename;
        } else {
                new->item.filename = talloc_strdup(new, cp->item.filename);
@@ -475,7 +475,7 @@ CONF_SECTION *cf_section_dup(CONF_SECTION *parent, CONF_SECTION const *cs,
 
        new->item.lineno = cs->item.lineno;
 
-       if (strcmp(parent->item.filename, cs->item.filename) == 0) {
+       if (!cs->item.filename || (strcmp(parent->item.filename, cs->item.filename) == 0)) {
                new->item.filename = parent->item.filename;
        } else {
                new->item.filename = talloc_strdup(new, cs->item.filename);