msi: Fix some memory leaks in the condition parser.

This commit is contained in:
Mike McCormack 2006-07-27 11:23:41 +09:00 committed by Alexandre Julliard
parent f3dae17cbb
commit 31c5652dc6
1 changed files with 5 additions and 0 deletions

View File

@ -186,6 +186,7 @@ boolean_factor:
| value_s | value_s
{ {
$$ = ($1 && $1[0]) ? 1 : 0; $$ = ($1 && $1[0]) ? 1 : 0;
msi_free($1);
} }
| value_i operator value_i | value_i operator value_i
{ {
@ -198,6 +199,7 @@ boolean_factor:
$$ = compare_int( num, $2, $3 ); $$ = compare_int( num, $2, $3 );
else else
$$ = ($2 == COND_NE || $2 == COND_INE ); $$ = ($2 == COND_NE || $2 == COND_INE );
msi_free($1);
} }
| value_i operator symbol_s | value_i operator symbol_s
{ {
@ -206,6 +208,7 @@ boolean_factor:
$$ = compare_int( $1, $2, num ); $$ = compare_int( $1, $2, num );
else else
$$ = ($2 == COND_NE || $2 == COND_INE ); $$ = ($2 == COND_NE || $2 == COND_INE );
msi_free($3);
} }
| symbol_s operator symbol_s | symbol_s operator symbol_s
{ {
@ -226,10 +229,12 @@ boolean_factor:
| literal operator value_i | literal operator value_i
{ {
$$ = 0; $$ = 0;
msi_free($1);
} }
| value_i operator literal | value_i operator literal
{ {
$$ = 0; $$ = 0;
msi_free($3);
} }
| COND_LPAR expression COND_RPAR | COND_LPAR expression COND_RPAR
{ {