summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/map/amap/amapPerm.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/map/amap/amapPerm.c b/src/map/amap/amapPerm.c
index 8af42ca3..7c471ca4 100644
--- a/src/map/amap/amapPerm.c
+++ b/src/map/amap/amapPerm.c
@@ -159,8 +159,15 @@ Vec_Int_t * Amap_LibDeriveGatePerm_rec( Amap_Lib_t * pLib, Kit_DsdNtk_t * pNtk,
iDsdLit = 0;
Vec_IntForEachEntry( vNodFanin, iNodFanin, k )
{
- if ( iNodFanin == 0 && iDsdLit < Vec_IntSize(vDsdLits) )
+ if ( iNodFanin == 0 )
{
+ if ( iDsdLit >= Vec_IntSize(vDsdLits) )
+ {
+ Vec_IntFree( vPerm );
+ Vec_IntFree( vDsdLits );
+ Vec_IntFree( vNodFanin );
+ return NULL;
+ }
iDsdFanin = Vec_IntEntry( vDsdLits, iDsdLit++ );
Vec_IntPush( vPerm, iDsdFanin );
continue;