summaryrefslogtreecommitdiffstats
path: root/src/aig/saig
diff options
context:
space:
mode:
Diffstat (limited to 'src/aig/saig')
-rw-r--r--src/aig/saig/saigBmc2.c4
-rw-r--r--src/aig/saig/saigConstr.c4
-rw-r--r--src/aig/saig/saigPhase.c2
-rw-r--r--src/aig/saig/saigWnd.c2
4 files changed, 9 insertions, 3 deletions
diff --git a/src/aig/saig/saigBmc2.c b/src/aig/saig/saigBmc2.c
index 9c36deb3..8e537142 100644
--- a/src/aig/saig/saigBmc2.c
+++ b/src/aig/saig/saigBmc2.c
@@ -751,7 +751,7 @@ int Saig_BmcPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, int nNodesMax
Aig_Man_t * pNew;
Cnf_Dat_t * pCnf;
int nOutsSolved = 0;
- int Iter, RetValue, clk = clock(), clk2, clkTotal = clock();
+ int Iter, RetValue = -1, clk = clock(), clk2, clkTotal = clock();
int Status = -1;
/*
Vec_Ptr_t * vSimInfo;
@@ -801,9 +801,9 @@ int Saig_BmcPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, int nNodesMax
if ( nTimeOut && ((float)nTimeOut <= (float)(clock()-clkTotal)/(float)(CLOCKS_PER_SEC)) )
{
printf( "Reached timeout (%d seconds).\n", nTimeOut );
- Saig_BmcManStop( p );
if ( piFrames )
*piFrames = p->iFrameLast-1;
+ Saig_BmcManStop( p );
return Status;
}
}
diff --git a/src/aig/saig/saigConstr.c b/src/aig/saig/saigConstr.c
index b4024634..d58074e3 100644
--- a/src/aig/saig/saigConstr.c
+++ b/src/aig/saig/saigConstr.c
@@ -57,7 +57,11 @@ Aig_Man_t * Saig_ManDupUnfoldConstrs( Aig_Man_t * pAig )
int i, RetValue;
RetValue = Saig_ManDetectConstr( pAig, &vOuts, &vCons );
if ( RetValue == 0 )
+ {
+ Vec_PtrFreeP( &vOuts );
+ Vec_PtrFreeP( &vCons );
return Aig_ManDupDfs( pAig );
+ }
// start the new manager
pAigNew = Aig_ManStart( Aig_ManNodeNum(pAig) );
pAigNew->pName = Aig_UtilStrsav( pAig->pName );
diff --git a/src/aig/saig/saigPhase.c b/src/aig/saig/saigPhase.c
index fad77020..1c288407 100644
--- a/src/aig/saig/saigPhase.c
+++ b/src/aig/saig/saigPhase.c
@@ -665,7 +665,7 @@ void Saig_ManAnalizeControl( Aig_Man_t * p, int Reg )
***********************************************************************/
int Saig_ManFindRegisters( Saig_Tsim_t * pTsi, int nFrames, int fIgnore, int fVerbose )
{
- int Values[257];
+ int Values[257] = {0};
unsigned * pState;
int r, i, k, Reg, Value;
int nTests = pTsi->nPrefix + 2 * pTsi->nCycle;
diff --git a/src/aig/saig/saigWnd.c b/src/aig/saig/saigWnd.c
index eeacb44e..c11798ea 100644
--- a/src/aig/saig/saigWnd.c
+++ b/src/aig/saig/saigWnd.c
@@ -802,6 +802,8 @@ Aig_Man_t * Saig_ManWindowExtractMiter( Aig_Man_t * p0, Aig_Man_t * p1 )
}
Aig_ManSetRegNum( pNew, nRegCount );
Aig_ManCleanup( pNew );
+ Vec_PtrFree( vNodes0 );
+ Vec_PtrFree( vNodes1 );
return pNew;
}