diff options
| author | Xin LI <delphij@FreeBSD.org> | 2015-08-28 06:41:40 +0000 |
|---|---|---|
| committer | Xin LI <delphij@FreeBSD.org> | 2015-08-28 06:41:40 +0000 |
| commit | ef9fc4afd46c607e3ff8cf63c06f33d845ccb6bd (patch) | |
| tree | 059103df37c56811515005cdd6103dca55db1989 | |
| parent | e5562eb9343bddcc11e791103c3371f0528fe481 (diff) | |
Notes
| -rw-r--r-- | lib/libgeom/geom_xml2tree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 54a31ca420896..2a373d7f31d54 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -275,15 +275,17 @@ EndElement(void *userData, const char *name) 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; |
