From 3bc9d50eaa95af0c5de6e5408bf91b0001b56280 Mon Sep 17 00:00:00 2001 From: behlendo Date: Tue, 4 Nov 2008 22:51:31 +0000 Subject: [PATCH] Add missing error handling to this case where a memory allocation fails. git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@170 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c --- modules/spl/spl-kobj.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/spl/spl-kobj.c b/modules/spl/spl-kobj.c index 28ff74e7cd..e78cd9244f 100644 --- a/modules/spl/spl-kobj.c +++ b/modules/spl/spl-kobj.c @@ -40,10 +40,15 @@ kobj_open_file(const char *name) int rc; ENTRY; - if ((rc = vn_open(name, UIO_SYSSPACE, FREAD, 0644, &vp, 0, 0))) + file = kmalloc(sizeof(_buf_t), GFP_KERNEL); + if (file == NULL) RETURN((_buf_t *)-1UL); - file = kmalloc(sizeof(_buf_t), GFP_KERNEL); + if ((rc = vn_open(name, UIO_SYSSPACE, FREAD, 0644, &vp, 0, 0))) { + kfree(file); + RETURN((_buf_t *)-1UL); + } + file->vp = vp; RETURN(file);