From 90ae994603d7f747661c8ffc3d77e7f502be1a79 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Fri, 1 Dec 2000 23:29:54 +0000 Subject: [PATCH] memory leak on error path --- lib/dns/config/confparser.y.dirty | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/dns/config/confparser.y.dirty b/lib/dns/config/confparser.y.dirty index 29ba756bcf..6945fd3d6d 100644 --- a/lib/dns/config/confparser.y.dirty +++ b/lib/dns/config/confparser.y.dirty @@ -33,7 +33,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: confparser.y.dirty,v 1.34 2000/12/01 23:27:40 marka Exp $ */ +/* $Id: confparser.y.dirty,v 1.35 2000/12/01 23:29:54 marka Exp $ */ #include @@ -3679,6 +3679,7 @@ view_stmt: L_VIEW any_string optional_class L_LBRACE tmpres = dns_c_viewtable_new(currcfg->mem, &currcfg->views); if (tmpres != ISC_R_SUCCESS) { + isc_mem_free(memctx, $2); parser_error(ISC_FALSE, "failed to create viewtable"); YYABORT; @@ -3687,6 +3688,7 @@ view_stmt: L_VIEW any_string optional_class L_LBRACE tmpres = dns_c_view_new(currcfg->mem, $2, $3, &view); if (tmpres != ISC_R_SUCCESS) { + isc_mem_free(memctx, $2); parser_error(ISC_FALSE, "failed to create view %s", $2); YYABORT; @@ -3695,6 +3697,7 @@ view_stmt: L_VIEW any_string optional_class L_LBRACE tmpres = dns_c_viewtable_addview(currcfg->views, view); if (tmpres != ISC_R_SUCCESS) { dns_c_view_delete(&view); + isc_mem_free(memctx, $2); parser_error(ISC_FALSE, "view '%s' already exists", $2); YYABORT;