X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Ffrontend%2Fgrammar.y;h=450a20f34218ef1df4db9e713bb3b0247cddc0bb;hb=8e7384947ee57bbbe58e210be4f6ec04ef8ff508;hp=a261c4c81d3253320b9d8cf960378918f84d0249;hpb=30ea545159fe6e72bada8e621e2b6f9d59490ba2;p=sysdb.git diff --git a/src/frontend/grammar.y b/src/frontend/grammar.y index a261c4c..450a20f 100644 --- a/src/frontend/grammar.y +++ b/src/frontend/grammar.y @@ -255,16 +255,21 @@ matcher: matcher AND matcher { $$ = sdb_store_con_matcher($1, $3); + sdb_object_deref(SDB_OBJ($1)); + sdb_object_deref(SDB_OBJ($3)); } | matcher OR matcher { $$ = sdb_store_dis_matcher($1, $3); + sdb_object_deref(SDB_OBJ($1)); + sdb_object_deref(SDB_OBJ($3)); } | NOT matcher { $$ = sdb_store_inv_matcher($2); + sdb_object_deref(SDB_OBJ($2)); } | compare_matcher @@ -316,6 +321,8 @@ compare_matcher: %% +/* XXX: on parse errors, allocated objects, strings, etc. need to be freed */ + void sdb_fe_yyerror(YYLTYPE *lval, sdb_fe_yyscan_t scanner, const char *msg) {