summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Markwalder <tmark@isc.org>2019-07-12 15:02:24 -0400
committerThomas Markwalder <tmark@isc.org>2019-07-12 15:02:24 -0400
commitd73dd575a2353960568aed80d51e1e299137c982 (patch)
tree0f890edb37e20426fd481d21da5f5989acf13010
parentea37c51408cf04adaf19204d66700bfd4d1f95f8 (diff)
downloadisc-dhcp-d73dd575a2353960568aed80d51e1e299137c982.tar.gz
[master] Fixed minor Coverity issues
Merges in #30,!16
-rw-r--r--RELNOTES4
-rw-r--r--server/confpars.c12
2 files changed, 16 insertions, 0 deletions
diff --git a/RELNOTES b/RELNOTES
index 7e9e7e4b..eb9b5c1c 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -139,6 +139,10 @@ by Eric Young (eay@cryptsoft.com).
Thanks to Brett Neumeier for bringing the matter to our attention.
[ISC-Bugs #15,!10 git c138f38bd00ceca4e1e51a4db7542a15ef79babd]
+- Fixed potential memory leaks in parser error message generation
+ spotted by Coverity, CIDs: 1448191, 1448193, 1448194, 1448195
+ [Gitlab #30,!16 git TBD]
+
Changes since 4.4.0 (New Features)
- none
Changes since 4.4.0 (Bug Fixes)
diff --git a/server/confpars.c b/server/confpars.c
index 7ad28d55..99fb9a6d 100644
--- a/server/confpars.c
+++ b/server/confpars.c
@@ -3578,6 +3578,11 @@ int parse_lease_declaration (struct lease **lp, struct parse *cfile)
if (token != EQUAL) {
parse_warn (cfile,
"expecting '=' in set statement.");
+ binding_value_dereference(&nv, MDL);
+ if (newbinding) {
+ dfree(binding->name, MDL);
+ dfree(binding, MDL);
+ }
goto badset;
}
}
@@ -3585,6 +3590,10 @@ int parse_lease_declaration (struct lease **lp, struct parse *cfile)
if (!parse_binding_value(cfile, nv)) {
binding_value_dereference(&nv, MDL);
lease_dereference(&lease, MDL);
+ if (newbinding) {
+ dfree(binding->name, MDL);
+ dfree(binding, MDL);
+ }
return 0;
}
@@ -4762,6 +4771,7 @@ parse_ia_na_declaration(struct parse *cfile) {
if (token != LBRACE) {
parse_warn(cfile, "corrupt lease file; expecting left brace");
skip_to_semi(cfile);
+ ia_dereference(&ia, MDL);
return;
}
@@ -5209,6 +5219,7 @@ parse_ia_ta_declaration(struct parse *cfile) {
if (token != LBRACE) {
parse_warn(cfile, "corrupt lease file; expecting left brace");
skip_to_semi(cfile);
+ ia_dereference(&ia, MDL);
return;
}
@@ -5646,6 +5657,7 @@ parse_ia_pd_declaration(struct parse *cfile) {
if (token != LBRACE) {
parse_warn(cfile, "corrupt lease file; expecting left brace");
skip_to_semi(cfile);
+ ia_dereference(&ia, MDL);
return;
}