Subject: [iproute2 PATCH 02/11] Fix file descriptor leak on error in rtnl_hash_initialize()

From: Thomas Jarosch <[email-masked]>
Date: Mon, 03 Oct 2011 17:22:42 +0200

Detected by cppcheck.

Signed-off-by: Thomas Jarosch <[email-masked]>
---
 lib/rt_names.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/lib/rt_names.c b/lib/rt_names.c
index 30d43cd..a290021 100644
--- a/lib/rt_names.c
+++ b/lib/rt_names.c
@@ -54,6 +54,7 @@ rtnl_hash_initialize(char *file, struct rtnl_hash_entry **hash, int size)
 		    sscanf(p, "%d %s #", &id, namebuf) != 2) {
 			fprintf(stderr, "Database %s is corrupted at %s\n",
 				file, p);
+			fclose(fp);
 			return;
 		}
 
@@ -91,6 +92,7 @@ static void rtnl_tab_initialize(char *file, char **tab, int size)
 		    sscanf(p, "%d %s #", &id, namebuf) != 2) {
 			fprintf(stderr, "Database %s is corrupted at %s\n",
 				file, p);
+			fclose(fp);
 			return;
 		}
 
-- 
1.7.4.4