From e0a700d45d4d5f85ddedc2344f336e9bb73a8b29 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Fri, 23 Mar 2007 22:55:59 -0400 Subject: [PATCH] [COVERITY] Fix (error case) memory leak in blkid library (parse_dev) Coverity ID: 29: Resource Leak Signed-off-by: Brian Behlendorf Signed-off-by: "Theodore Ts'o" --- lib/blkid/ChangeLog | 4 ++++ lib/blkid/read.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/blkid/ChangeLog b/lib/blkid/ChangeLog index 919fbb01..4433ef41 100644 --- a/lib/blkid/ChangeLog +++ b/lib/blkid/ChangeLog @@ -1,3 +1,7 @@ +2007-03-23 Theodore Tso + + * read.c (parse_dev): Fix memory leak on error path. + 2007-03-21 Theodore Tso * resolve.c (blkid_get_devname): Fix memory leak. diff --git a/lib/blkid/read.c b/lib/blkid/read.c index 7a147f69..583b5494 100644 --- a/lib/blkid/read.c +++ b/lib/blkid/read.c @@ -223,8 +223,10 @@ static int parse_dev(blkid_cache cache, blkid_dev *dev, char **cp) DBG(DEBUG_READ, printf("found dev %s\n", name)); - if (!(*dev = blkid_get_dev(cache, name, BLKID_DEV_CREATE))) + if (!(*dev = blkid_get_dev(cache, name, BLKID_DEV_CREATE))) { + free(name); return -BLKID_ERR_MEM; + } free(name); return 1;