diff options
| author | Neil Brown <neilb@suse.de> | 2006-06-23 14:38:33 +1000 |
|---|---|---|
| committer | Neil Brown <neilb@suse.de> | 2006-06-23 14:38:33 +1000 |
| commit | 2e075a16da4963f54cd556403ca9e15a68de27fd (patch) | |
| tree | 5e412d94ec623315a93286af4da52a2883dcd0a4 /utils/idmapd | |
| parent | ff42180930a444cea7f19e55e2cd2bfe6d3f108b (diff) | |
| download | nfs-utils-2e075a16da4963f54cd556403ca9e15a68de27fd.tar.gz nfs-utils-2e075a16da4963f54cd556403ca9e15a68de27fd.tar.xz nfs-utils-2e075a16da4963f54cd556403ca9e15a68de27fd.zip | |
Fix various issues discovered by Coverity
Thanks to Michael Halcrow for finding them.
Diffstat (limited to 'utils/idmapd')
| -rw-r--r-- | utils/idmapd/cfg.c | 10 | ||||
| -rw-r--r-- | utils/idmapd/idmapd.c | 8 |
2 files changed, 12 insertions, 6 deletions
diff --git a/utils/idmapd/cfg.c b/utils/idmapd/cfg.c index b22a7c9..16d392a 100644 --- a/utils/idmapd/cfg.c +++ b/utils/idmapd/cfg.c @@ -487,8 +487,10 @@ conf_get_list (char *section, char *tag) if (!node) goto cleanup; node->field = strdup (field); - if (!node->field) + if (!node->field) { + free(node); goto cleanup; + } TAILQ_INSERT_TAIL (&list->fields, node, link); } free (liststr); @@ -523,8 +525,10 @@ conf_get_tag_list (char *section) if (!node) goto cleanup; node->field = strdup (cb->tag); - if (!node->field) + if (!node->field) { + free(node); goto cleanup; + } TAILQ_INSERT_TAIL (&list->fields, node, link); } return list; @@ -708,7 +712,7 @@ conf_remove (int transaction, char *section, char *tag) return 0; fail: - if (node->section) + if (node && node->section) free (node->section); if (node) free (node); diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c index 158feaf..1231db4 100644 --- a/utils/idmapd/idmapd.c +++ b/utils/idmapd/idmapd.c @@ -1003,9 +1003,11 @@ mydaemon(int nochdir, int noclose) if (noclose == 0) { tempfd = open("/dev/null", O_RDWR); - dup2(tempfd, 0); - dup2(tempfd, 1); - dup2(tempfd, 2); + if (tempfd >= 0) { + dup2(tempfd, 0); + dup2(tempfd, 1); + dup2(tempfd, 2); + } closeall(3); } |
