From 25e8a6d3d6613cb197c5f68029b18b7f614aeefb Mon Sep 17 00:00:00 2001 From: Hamed Date: Thu, 20 Jul 2017 15:39:01 -0700 Subject: [PATCH] Adding edge cases and fixing leaks --- src/Backend/satfuncopencoder.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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); -- 2.34.1