Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Aug 2015 06:41:41 +0000 (UTC)
From:      Xin LI <delphij@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r287247 - head/lib/libgeom
Message-ID:  <201508280641.t7S6ff0e006773@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: delphij
Date: Fri Aug 28 06:41:40 2015
New Revision: 287247
URL: https://svnweb.freebsd.org/changeset/base/287247

Log:
  Plug memory leaks when running out of memory.
  
  Reported by:	clang scan-build
  MFC after:	2 weeks

Modified:
  head/lib/libgeom/geom_xml2tree.c

Modified: head/lib/libgeom/geom_xml2tree.c
==============================================================================
--- head/lib/libgeom/geom_xml2tree.c	Fri Aug 28 06:07:30 2015	(r287246)
+++ head/lib/libgeom/geom_xml2tree.c	Fri Aug 28 06:41:40 2015	(r287247)
@@ -275,15 +275,17 @@ EndElement(void *userData, const char *n
 			XML_StopParser(mt->parser, 0);
 			warn("Cannot allocate memory during processing of '%s' "
 			    "element", name);
+			free(p);
 			return;
 		}
 		gc->lg_name = strdup(name);
 		if (gc->lg_name == NULL) {
-			free(gc);
 			mt->error = errno;
 			XML_StopParser(mt->parser, 0);
 			warn("Cannot allocate memory during processing of '%s' "
 			    "element", name);
+			free(gc);
+			free(p);
 			return;
 		}
 		gc->lg_val = p;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508280641.t7S6ff0e006773>