From ece11036ff6894f7c7d447e7a3d64c0cd49d9aa2 Mon Sep 17 00:00:00 2001 From: Ross Lagerwall Date: Sun, 20 Jul 2014 08:13:45 +0100 Subject: [PATCH] libnfs.c: Handle OOM condition Signed-off-by: Ross Lagerwall --- lib/libnfs.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/libnfs.c b/lib/libnfs.c index 2f2dc4f..a134a2c 100644 --- a/lib/libnfs.c +++ b/lib/libnfs.c @@ -2630,6 +2630,13 @@ static void nfs_create_2_cb(struct rpc_context *rpc, int status, void *command_d /* copy the filehandle */ nfsfh->fh.data.data_len = res->LOOKUP3res_u.resok.object.data.data_len; nfsfh->fh.data.data_val = malloc(nfsfh->fh.data.data_len); + if (nfsfh->fh.data.data_val == NULL) { + rpc_set_error(nfs->rpc, "Out of memory: Failed to allocate fh structure"); + data->cb(-ENOMEM, nfs, rpc_get_error(nfs->rpc), data->private_data); + free_nfs_cb_data(data); + free(nfsfh); + return -1; + } memcpy(nfsfh->fh.data.data_val, res->LOOKUP3res_u.resok.object.data.data_val, nfsfh->fh.data.data_len); /* Try to truncate it if we were requested to */ -- 2.34.1