From: Hamed Date: Thu, 20 Jul 2017 22:39:01 +0000 (-0700) Subject: Adding edge cases and fixing leaks X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=25e8a6d3d6613cb197c5f68029b18b7f614aeefb;p=satune.git Adding edge cases and fixing leaks --- diff --git a/src/Backend/satfuncopencoder.c b/src/Backend/satfuncopencoder.c index 67441d5..5cbd86c 100644 --- a/src/Backend/satfuncopencoder.c +++ b/src/Backend/satfuncopencoder.c @@ -75,8 +75,10 @@ Edge encodeEnumOperatorPredicateSATEncoder(SATEncoder * This, BooleanPredicate * } } } - if(getSizeVectorEdge(clauses) == 0) + if(getSizeVectorEdge(clauses) == 0){ + deleteVectorEdge(clauses); return E_False; + } Edge cor=constraintOR(This->cnf, getSizeVectorEdge(clauses), exposeArrayEdge(clauses)); deleteVectorEdge(clauses); return generateNegation ? constraintNegate(cor) : cor; @@ -184,7 +186,10 @@ void encodeOperatorElementFunctionSATEncoder(SATEncoder* This, ElementFunction* } } } - + if(getSizeVectorEdge(clauses) == 0){ + deleteVectorEdge(clauses); + return E_False; + } Edge cor=constraintAND(This->cnf, getSizeVectorEdge(clauses), exposeArrayEdge(clauses)); addConstraintCNF(This->cnf, cor); deleteVectorEdge(clauses);