diff options
author | Ted Lemon <source@isc.org> | 2002-01-10 19:37:51 +0000 |
---|---|---|
committer | Ted Lemon <source@isc.org> | 2002-01-10 19:37:51 +0000 |
commit | 83ff262c0c5f7ef7c893815d9edc9cbd3acbb0b9 (patch) | |
tree | 065c621f59f5ae78237820d91c47f07cce9163c0 | |
parent | a30a5351f788b5df95c18e36e9eef9a3b0871948 (diff) | |
download | isc-dhcp-83ff262c0c5f7ef7c893815d9edc9cbd3acbb0b9.tar.gz |
Check status from parse_semi and report an error if there was one.
-rw-r--r-- | common/parse.c | 31 |
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; } |