summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Lemon <source@isc.org>2002-01-10 19:37:51 +0000
committerTed Lemon <source@isc.org>2002-01-10 19:37:51 +0000
commit83ff262c0c5f7ef7c893815d9edc9cbd3acbb0b9 (patch)
tree065c621f59f5ae78237820d91c47f07cce9163c0
parenta30a5351f788b5df95c18e36e9eef9a3b0871948 (diff)
downloadisc-dhcp-83ff262c0c5f7ef7c893815d9edc9cbd3acbb0b9.tar.gz
Check status from parse_semi and report an error if there was one.
-rw-r--r--common/parse.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/common/parse.c b/common/parse.c
index ce69c270..a2d13f86 100644
--- a/common/parse.c
+++ b/common/parse.c
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: parse.c,v 1.104.2.7 2001/10/17 03:25:49 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
+"$Id: parse.c,v 1.104.2.8 2002/01/10 19:37:51 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -1804,7 +1804,11 @@ int parse_executable_statement (result, cfile, lose, case_context)
executable_statement_dereference (result, MDL);
return 0;
}
- parse_semi (cfile);
+ if (parse_semi (cfile)) {
+ *lose = 1;
+ executable_statement_dereference (result, MDL);
+ return 0;
+ }
}
break;
@@ -1828,7 +1832,11 @@ int parse_executable_statement (result, cfile, lose, case_context)
if (!(*result)->data.unset)
log_fatal ("can't allocate variable name");
strcpy ((*result) -> data.unset, val);
- parse_semi (cfile);
+ if (!parse_semi (cfile)) {
+ *lose = 1;
+ executable_statement_dereference (result, MDL);
+ return 0;
+ }
break;
case EVAL:
@@ -1850,7 +1858,10 @@ int parse_executable_statement (result, cfile, lose, case_context)
executable_statement_dereference (result, MDL);
return 0;
}
- parse_semi (cfile);
+ if (!parse_semi (cfile)) {
+ *lose = 1;
+ executable_statement_dereference (result, MDL);
+ }
break;
case RETURN:
@@ -1872,7 +1883,11 @@ int parse_executable_statement (result, cfile, lose, case_context)
executable_statement_dereference (result, MDL);
return 0;
}
- parse_semi (cfile);
+ if (!parse_semi (cfile)) {
+ *lose = 1;
+ executable_statement_dereference (result, MDL);
+ return 0;
+ }
break;
case LOG:
@@ -2024,7 +2039,11 @@ int parse_executable_statement (result, cfile, lose, case_context)
executable_statement_dereference (result, MDL);
return 0;
}
- parse_semi (cfile);
+ if (!parse_semi (cfile)) {
+ *lose = 1;
+ executable_statement_dereference (result, MDL);
+ return 0;
+ }
break;
}