X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=src%2Fparser%2Fparser.c;h=e3073a9a627534d6ea5c5ca2e6ac3859a0eeeafc;hp=de6085fd176b7ae346b9f61d71369d8d3b2d5750;hb=195f73cdb0c1087bf3f3a82267204fca9eb3104c;hpb=a2dd816b36b96cbbb1df882912f43e60ee7879ff diff --git a/src/parser/parser.c b/src/parser/parser.c index de6085f..e3073a9 100644 --- a/src/parser/parser.c +++ b/src/parser/parser.c @@ -140,6 +140,11 @@ sdb_parser_parse_conditional(const char *cond, int len, sdb_strbuf_t *errbuf) assert(SDB_AST_IS_LOGICAL(node)); sdb_llist_destroy(yyextra.parsetree); + + if (sdb_parser_analyze_conditional(node, errbuf)) { + sdb_object_deref(SDB_OBJ(node)); + return NULL; + } return node; } /* sdb_parser_parse_conditional */ @@ -175,6 +180,11 @@ sdb_parser_parse_arith(const char *expr, int len, sdb_strbuf_t *errbuf) assert(SDB_AST_IS_ARITHMETIC(node)); sdb_llist_destroy(yyextra.parsetree); + + if (sdb_parser_analyze_arith(node, errbuf)) { + sdb_object_deref(SDB_OBJ(node)); + return NULL; + } return node; } /* sdb_parser_parse_arith */