Module Name: src
Committed By: christos
Date: Wed Nov 13 21:22:46 UTC 2013
Modified Files:
src/usr.sbin/ldpd: conffile.c
Log Message:
CID 1125875: Fix memory leak
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/usr.sbin/ldpd/conffile.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.sbin/ldpd/conffile.c
diff -u src/usr.sbin/ldpd/conffile.c:1.9 src/usr.sbin/ldpd/conffile.c:1.10
--- src/usr.sbin/ldpd/conffile.c:1.9 Wed Nov 13 16:20:21 2013
+++ src/usr.sbin/ldpd/conffile.c Wed Nov 13 16:22:46 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: conffile.c,v 1.9 2013/11/13 21:20:21 christos Exp $ */
+/* $NetBSD: conffile.c,v 1.10 2013/11/13 21:22:46 christos Exp $ */
/*
* Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -377,12 +377,14 @@ int
Finterface(char *line)
{
char *ifname;
- struct conf_interface *conf_if = calloc(1, sizeof(*conf_if));
+ struct conf_interface *conf_if;
char buf[LINEMAXSIZE];
- ifname = NextCommand(line);
- if (conf_if == NULL || ifname == NULL)
+ if ((ifname = NextCommand(line)) == NULL)
return -1;
+ if ((conf_if = calloc(1, sizeof(*conf_if))) == NULL)
+ return -1;
+
strlcpy(conf_if->if_name, ifname, IF_NAMESIZE);
SLIST_INSERT_HEAD(&coifs_head, conf_if, iflist);