diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/map/amap/amapPerm.c | 9 | 
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;  | 
