summaryrefslogtreecommitdiffstats
path: root/utils/gssd/gssd_proc.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2014-04-30 12:00:05 -0400
committerSteve Dickson <steved@redhat.com>2014-04-30 12:19:11 -0400
commit22dcb8d02e44a137d4354c0c2503698927bae898 (patch)
treef1d8c6f2ce5a59ffbb41044e01a2fc16279be8ab /utils/gssd/gssd_proc.c
parente46ed1ee82c5e6070089bad0d859a45ca56cb35f (diff)
downloadnfs-utils-22dcb8d02e44a137d4354c0c2503698927bae898.tar.gz
nfs-utils-22dcb8d02e44a137d4354c0c2503698927bae898.tar.xz
nfs-utils-22dcb8d02e44a137d4354c0c2503698927bae898.zip
gssd: handle malloc failure appropriately in do_downcall
...and get rid of some pointless NULL ptr checks. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/gssd/gssd_proc.c')
-rw-r--r--utils/gssd/gssd_proc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c
index 33cfeb2..5f7fb32 100644
--- a/utils/gssd/gssd_proc.c
+++ b/utils/gssd/gssd_proc.c
@@ -694,6 +694,9 @@ do_downcall(int k5_fd, uid_t uid, struct authgss_private_data *pd,
sizeof(pd->pd_ctx_hndl.length) + pd->pd_ctx_hndl.length +
sizeof(context_token->length) + context_token->length;
p = buf = malloc(buf_size);
+ if (!buf)
+ goto out_err;
+
end = buf + buf_size;
/* context_timeout set by -t option overrides context lifetime */
@@ -706,10 +709,10 @@ do_downcall(int k5_fd, uid_t uid, struct authgss_private_data *pd,
if (write_buffer(&p, end, context_token)) goto out_err;
if (write(k5_fd, buf, p - buf) < p - buf) goto out_err;
- if (buf) free(buf);
+ free(buf);
return 0;
out_err:
- if (buf) free(buf);
+ free(buf);
printerr(1, "Failed to write downcall!\n");
return -1;
}