Fix leak
[satune.git] / src / Backend / inc_solver.c
index b9cc549fdbf30dc3fa408b008d8f24ec63db8ade..307114ef4782acca1ae992328d40a94fba176df9 100644 (file)
@@ -27,6 +27,7 @@ void deleteIncrementalSolver(IncrementalSolver * This) {
        ourfree(This->buffer);
        if (This->solution != NULL)
                ourfree(This->solution);
+       ourfree(This);
 }
 
 void resetSolver(IncrementalSolver * This) {
@@ -49,6 +50,10 @@ void addArrayClauseLiteral(IncrementalSolver * This, uint numliterals, int * lit
                        flushBufferSolver(This);
                }
        }
+       This->buffer[This->offset++]=0;
+       if (This->offset==IS_BUFFERSIZE) {
+               flushBufferSolver(This);
+       }
 }
 
 void finishedClauses(IncrementalSolver * This) {