summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2006-06-23 17:10:56 +1000
committerNeil Brown <neilb@suse.de>2006-06-23 17:10:56 +1000
commit0523fd513c6baa8dbf45d1a7afea2044262aeb3d (patch)
tree124eade50a8f75cbb2bb8688aff958367a0f4b90
parent2e075a16da4963f54cd556403ca9e15a68de27fd (diff)
downloadnfs-utils-0523fd513c6baa8dbf45d1a7afea2044262aeb3d.tar.gz
nfs-utils-0523fd513c6baa8dbf45d1a7afea2044262aeb3d.tar.xz
nfs-utils-0523fd513c6baa8dbf45d1a7afea2044262aeb3d.zip
Further coverity related cleanups.
Greg Banks suggested some variations, particularly improved use of xmalloc/xstrdup functions. Thanks.
-rw-r--r--support/misc/mountpoint.c5
-rw-r--r--utils/idmapd/idmapd.c7
-rw-r--r--utils/statd/notlist.c12
3 files changed, 10 insertions, 14 deletions
diff --git a/support/misc/mountpoint.c b/support/misc/mountpoint.c
index 2cf1324..750b6e8 100644
--- a/support/misc/mountpoint.c
+++ b/support/misc/mountpoint.c
@@ -22,9 +22,8 @@ is_mountpoint(char *path)
struct stat stb, pstb;
int rv;
- dotdot = malloc(strlen(path)+4);
- if (!dotdot)
- return 0;
+ dotdot = xmalloc(strlen(path)+4);
+
strcat(strcpy(dotdot, path), "/..");
if (lstat(path, &stb) != 0 ||
lstat(dotdot, &pstb) != 0)
diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
index 1231db4..5fc7811 100644
--- a/utils/idmapd/idmapd.c
+++ b/utils/idmapd/idmapd.c
@@ -1003,12 +1003,15 @@ mydaemon(int nochdir, int noclose)
if (noclose == 0) {
tempfd = open("/dev/null", O_RDWR);
+ if (tempfd < 0)
+ tempfd = open("/", O_RDONLY);
if (tempfd >= 0) {
dup2(tempfd, 0);
dup2(tempfd, 1);
dup2(tempfd, 2);
- }
- closeall(3);
+ closeall(3);
+ } else
+ closeall(0);
}
return;
diff --git a/utils/statd/notlist.c b/utils/statd/notlist.c
index 98aa6e2..b74d9df 100644
--- a/utils/statd/notlist.c
+++ b/utils/statd/notlist.c
@@ -54,19 +54,13 @@ nlist_new(char *my_name, char *mon_name, int state)
{
notify_list *new;
- if (!(new = (notify_list *) xmalloc(sizeof(notify_list))))
- return NULL;
+ new = (notify_list *) xmalloc(sizeof(notify_list));
memset(new, 0, sizeof(*new));
NL_TIMES(new) = MAX_TRIES;
NL_STATE(new) = state;
- if (!(NL_MY_NAME(new) = xstrdup(my_name))
- || !(NL_MON_NAME(new) = xstrdup(mon_name))) {
- if (NL_MY_NAME(new))
- free(NL_MY_NAME(new));
- free(new);
- return NULL;
- }
+ NL_MY_NAME(new) = xstrdup(my_name);
+ NL_MON_NAME(new) = xstrdup(mon_name);
return new;
}