diff --git a/src/parser/parser.c b/src/parser/parser.c
index de6085fd176b7ae346b9f61d71369d8d3b2d5750..e3073a9a627534d6ea5c5ca2e6ac3859a0eeeafc 100644 (file)
--- a/src/parser/parser.c
+++ b/src/parser/parser.c
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 */
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 */