X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils%2Fmountd%2Fcache.c;h=fedc0bfc62b1b3656359ce81cc240d66f680abd0;hb=1992a667c49cdd83ff7d7414a07225fcf34f0ad2;hp=b686318c1017b0dd951bdc95bab27348a6db0071;hpb=173ac3ccb45cc407336dd363fc15c90bbfdecf6f;p=nfs-utils.git diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c index b686318..fedc0bf 100644 --- a/utils/mountd/cache.c +++ b/utils/mountd/cache.c @@ -445,6 +445,8 @@ void nfsd_fh(FILE *f) if (!found) { found = &exp->m_export; found_path = strdup(path); + if (found_path == NULL) + goto out; } else if (strcmp(found->e_path, exp->m_export.e_path)!= 0) { xlog(L_WARNING, "%s and %s have same filehandle for %s, using first", @@ -492,6 +494,7 @@ void nfsd_fh(FILE *f) qword_print(f, found->e_path); qword_eol(f); out: + free(found_path); free(dom); return; } @@ -649,8 +652,7 @@ void nfsd_export(FILE *f) "Cannot export %s, possibly unsupported filesystem" " or fsid= required", path); dump_to_cache(f, dom, path, NULL); - } else - mountlist_add(dom, path); + } } else { dump_to_cache(f, dom, path, NULL); } @@ -729,7 +731,6 @@ int cache_export_ent(char *domain, struct exportent *exp, char *path) "Cannot export %s, possibly unsupported filesystem or" " fsid= required", exp->e_path); } - mountlist_add(domain, exp->e_path); while (err == 0 && (exp->e_flags & NFSEXP_CROSSMOUNT) && path) { /* really an 'if', but we can break out of