X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=src%2Ffrontend%2Fgrammar.y;h=450a20f34218ef1df4db9e713bb3b0247cddc0bb;hp=a261c4c81d3253320b9d8cf960378918f84d0249;hb=f0731b34a736d266ca48edd0f98f5d8237253eca;hpb=a0c8961e4732d71aaed1f4cda663203ff722b23e 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) {