Blob Blame History Raw
--- src/aig/miniaig/ndr.h.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/aig/miniaig/ndr.h	2021-03-31 09:29:26.418031142 -0600
@@ -496,8 +496,16 @@ static inline void Ndr_WriteVerilog( cha
 {
     Ndr_Data_t * p = (Ndr_Data_t *)pDesign; int Mod;
 
-    FILE * pFile = pFileName ? fopen( pFileName, "wb" ) : stdout;
-    if ( pFile == NULL ) { printf( "Cannot open file \"%s\" for writing.\n", pFileName ); return; }
+    FILE * pFile;
+    if (pFileName)
+    {
+        pFile = fopen( pFileName, "wb" );
+        if ( pFile == NULL ) { printf( "Cannot open file \"%s\" for writing.\n", pFileName ); return; }
+    }
+    else
+    {
+        pFile = stdout;
+    }
 
     Ndr_DesForEachMod( p, Mod )
         Ndr_WriteVerilogModule( pFile, p, Mod, pNames );
--- src/aig/saig/saigIoa.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/aig/saig/saigIoa.c	2021-03-31 09:36:36.926608970 -0600
@@ -47,15 +47,15 @@ char * Saig_ObjName( Aig_Man_t * p, Aig_
 {
     static char Buffer[16];
     if ( Aig_ObjIsNode(pObj) || Aig_ObjIsConst1(pObj) )
-        sprintf( Buffer, "n%0*d", Abc_Base10Log(Aig_ManObjNumMax(p)), Aig_ObjId(pObj) );
+        snprintf( Buffer, 16, "n%0*d", Abc_Base10Log(Aig_ManObjNumMax(p)), Aig_ObjId(pObj) );
     else if ( Saig_ObjIsPi(p, pObj) )
-        sprintf( Buffer, "pi%0*d", Abc_Base10Log(Saig_ManPiNum(p)), Aig_ObjCioId(pObj) );
+        snprintf( Buffer, 16, "pi%0*d", Abc_Base10Log(Saig_ManPiNum(p)), Aig_ObjCioId(pObj) );
     else if ( Saig_ObjIsPo(p, pObj) )
-        sprintf( Buffer, "po%0*d", Abc_Base10Log(Saig_ManPoNum(p)), Aig_ObjCioId(pObj) );
+        snprintf( Buffer, 16, "po%0*d", Abc_Base10Log(Saig_ManPoNum(p)), Aig_ObjCioId(pObj) );
     else if ( Saig_ObjIsLo(p, pObj) )
-        sprintf( Buffer, "lo%0*d", Abc_Base10Log(Saig_ManRegNum(p)), Aig_ObjCioId(pObj) - Saig_ManPiNum(p) );
+        snprintf( Buffer, 16, "lo%0*d", Abc_Base10Log(Saig_ManRegNum(p)), Aig_ObjCioId(pObj) - Saig_ManPiNum(p) );
     else if ( Saig_ObjIsLi(p, pObj) )
-        sprintf( Buffer, "li%0*d", Abc_Base10Log(Saig_ManRegNum(p)), Aig_ObjCioId(pObj) - Saig_ManPoNum(p) );
+        snprintf( Buffer, 16, "li%0*d", Abc_Base10Log(Saig_ManRegNum(p)), Aig_ObjCioId(pObj) - Saig_ManPoNum(p) );
     else 
         assert( 0 );
     return Buffer;
--- src/base/abci/abc.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/base/abci/abc.c	2021-03-31 09:33:02.855819044 -0600
@@ -30623,7 +30623,7 @@ int Abc_CommandAbc9Put( Abc_Frame_t * pA
                 else
                 {
                     assert( i >= Abc_NtkPoNum(pNtk) );
-                    sprintf( pSuffix, "_li%0*d", nDigits, i-Abc_NtkPoNum(pNtk) );
+                    snprintf( pSuffix, 100, "_li%0*d", nDigits, i-Abc_NtkPoNum(pNtk) );
                     Abc_ObjAssignName( pObj, (char *)Vec_PtrEntry(pAbc->pGia->vNamesOut, i), pSuffix );
                 }
             }
@@ -42868,7 +42868,7 @@ int Abc_CommandAbc9Cone( Abc_Frame_t * p
         Gia_ManForEachPo( pAbc->pGia, pObj, i )
         {
             Gia_Man_t * pOne = Gia_ManDupDfsCone( pAbc->pGia, pObj );
-            sprintf( Buffer, "%s_%0*d.aig", Extra_FileNameGeneric(pAbc->pGia->pSpec), nDigits, i );
+            snprintf( Buffer, 1000, "%s_%0*d.aig", Extra_FileNameGeneric(pAbc->pGia->pSpec), nDigits, i );
             Gia_AigerWrite( pOne, Buffer, 0, 0, 0 );
             Gia_ManStop( pOne );
         }
--- src/base/abci/abcMiter.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/base/abci/abcMiter.c	2021-03-31 09:29:26.419031141 -0600
@@ -863,7 +863,7 @@ void Abc_NtkAddFrame( Abc_Ntk_t * pNtkFr
 {
     int fVerbose = 0;
     int NodeBef = Abc_NtkNodeNum(pNtkFrames);
-    char Buffer[10];
+    char Buffer[12];
     Abc_Obj_t * pNode, * pLatch;
     int i;
     // create the prefix to be added to the node names
--- src/base/io/ioReadBlifMv.c.orig	2021-03-31 09:51:35.257716654 -0600
+++ src/base/io/ioReadBlifMv.c	2021-03-31 09:51:55.691695924 -0600
@@ -1626,7 +1626,7 @@ static int Io_MvParseLineMv( Io_MvMod_t
 ***********************************************************************/
 static int Io_MvWriteValues( Abc_Obj_t * pNode, Vec_Str_t * vFunc )
 {
-    char Buffer[10];
+    char Buffer[12];
     Abc_Obj_t * pFanin;
     int i;
     // add the fanin number of values
@@ -1656,7 +1656,7 @@ static int Io_MvWriteValues( Abc_Obj_t *
 ***********************************************************************/
 static int Io_MvParseLiteralMv( Io_MvMod_t * p, Abc_Obj_t * pNode, char * pToken, Vec_Str_t * vFunc, int iLit )
 {
-    char Buffer[10];
+    char Buffer[12];
     Io_MvVar_t * pVar;
     Abc_Obj_t * pFanin, * pNet;
     char * pCur, * pNext;
--- src/base/io/ioReadPla.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/base/io/ioReadPla.c	2021-03-31 09:32:18.454862614 -0600
@@ -448,7 +448,7 @@ Abc_Ntk_t * Io_ReadPlaNetwork( Extra_Fil
                 nDigits = Abc_Base10Log( nInputs );
                 for ( i = 0; i < nInputs; i++ )
                 {
-                    sprintf( Buffer, "x%0*d", nDigits, i );
+                    snprintf( Buffer, 100, "x%0*d", nDigits, i );
                     Io_ReadCreatePi( pNtk, Buffer );
                 }
             }
@@ -465,7 +465,7 @@ Abc_Ntk_t * Io_ReadPlaNetwork( Extra_Fil
                 nDigits = Abc_Base10Log( nOutputs );
                 for ( i = 0; i < nOutputs; i++ )
                 {
-                    sprintf( Buffer, "z%0*d", nDigits, i );
+                    snprintf( Buffer, 100, "z%0*d", nDigits, i );
                     Io_ReadCreatePo( pNtk, Buffer );
                 }
             }
--- src/base/wlc/wlcNdr.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/base/wlc/wlcNdr.c	2021-03-31 09:29:26.420031140 -0600
@@ -487,7 +487,7 @@ Wlc_Ntk_t * Wlc_NtkFromNdr( void * pData
     pNtk->pManName = Abc_NamStart( NameIdMax+1, 10 );
     for ( i = 1; i <= NameIdMax; i++ )
     {
-        char pName[20]; sprintf( pName, "s%0*d", nDigits, i );
+        char pName[20]; snprintf( pName, 20U, "s%0*d", nDigits, i );
         NameId = Abc_NamStrFindOrAdd( pNtk->pManName, pName, &fFound );
         assert( !fFound && i == NameId );
     }
--- src/base/wlc/wlcNtk.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/base/wlc/wlcNtk.c	2021-03-31 09:34:20.110743240 -0600
@@ -1300,7 +1300,7 @@ void Wlc_NtkShortNames( Wlc_Ntk_t * p )
     {
         if ( Wlc_ObjIsPo(pObj) )
             continue;
-        sprintf( pBuffer, "%s%0*d", "fi", nDigits, i - Wlc_NtkPoNum(p) );
+        snprintf( pBuffer, 100, "%s%0*d", "fi", nDigits, i - Wlc_NtkPoNum(p) );
         NameId = Abc_NamStrFindOrAdd( p->pManName, pBuffer, &fFound );
         Wlc_ObjSetNameId( p, Wlc_ObjId(p, pObj), NameId );
     }
@@ -1308,21 +1308,21 @@ void Wlc_NtkShortNames( Wlc_Ntk_t * p )
     {
         if ( Wlc_ObjIsPi(pObj) )
             continue;
-        sprintf( pBuffer, "%s%0*d", "fo", nDigits, i - Wlc_NtkPiNum(p) );
+        snprintf( pBuffer, 100, "%s%0*d", "fo", nDigits, i - Wlc_NtkPiNum(p) );
         NameId = Abc_NamStrFindOrAdd( p->pManName, pBuffer, &fFound );
         Wlc_ObjSetNameId( p, Wlc_ObjId(p, pObj), NameId );
     }
     nDigits = Abc_Base10Log( Wlc_NtkPoNum(p) );
     Wlc_NtkForEachPo( p, pObj, i )
     {
-        sprintf( pBuffer, "%s%0*d", "po", nDigits, i );
+        snprintf( pBuffer, 100, "%s%0*d", "po", nDigits, i );
         NameId = Abc_NamStrFindOrAdd( p->pManName, pBuffer, &fFound );
         Wlc_ObjSetNameId( p, Wlc_ObjId(p, pObj), NameId );
     }
     nDigits = Abc_Base10Log( Wlc_NtkPiNum(p) );
     Wlc_NtkForEachPi( p, pObj, i )
     {
-        sprintf( pBuffer, "%s%0*d", "pi", nDigits, i );
+        snprintf( pBuffer, 100, "%s%0*d", "pi", nDigits, i );
         NameId = Abc_NamStrFindOrAdd( p->pManName, pBuffer, &fFound );
         Wlc_ObjSetNameId( p, Wlc_ObjId(p, pObj), NameId );
     }
@@ -1331,7 +1331,7 @@ void Wlc_NtkShortNames( Wlc_Ntk_t * p )
     {
         if ( Wlc_ObjIsCi(pObj) || Wlc_ObjIsCo(pObj) )
             continue;
-        sprintf( pBuffer, "%s%0*d", "n", nDigits, i );
+        snprintf( pBuffer, 100, "%s%0*d", "n", nDigits, i );
         NameId = Abc_NamStrFindOrAdd( p->pManName, pBuffer, &fFound );
         Wlc_ObjSetNameId( p, Wlc_ObjId(p, pObj), NameId );
     }
--- src/base/wln/wlnNdr.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/base/wln/wlnNdr.c	2021-03-31 09:29:26.420031140 -0600
@@ -256,7 +256,7 @@ Wln_Ntk_t * Wln_NtkFromNdr( void * pData
     pNtk->pManName = Abc_NamStart( NameIdMax+1, 10 );
     for ( i = 1; i <= NameIdMax; i++ )
     {
-        char pName[20]; sprintf( pName, "s%0*d", nDigits, i );
+        char pName[20]; snprintf( pName, 20U, "s%0*d", nDigits, i );
         NameId = Abc_NamStrFindOrAdd( pNtk->pManName, pName, &fFound );
         assert( !fFound && i == NameId );
     }
--- src/map/mio/mioUtils.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/map/mio/mioUtils.c	2021-03-31 09:34:48.486715391 -0600
@@ -1711,7 +1711,7 @@ void Mio_LibraryShortNames( Mio_Library_
     Mio_LibraryForEachGate( pLib, pGate )
     {
         ABC_FREE( pGate->pName );
-        sprintf( Buffer, "g%0*d", nDigits, ++c );
+        snprintf( Buffer, 10000, "g%0*d", nDigits, ++c );
         pGate->pName = Abc_UtilStrsav( Buffer );
         // update formula
         Mio_LibraryShortFormula( pGate, pGate->pForm, Buffer );
--- src/map/scl/sclLibUtil.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/map/scl/sclLibUtil.c	2021-03-31 09:35:12.574691754 -0600
@@ -203,7 +203,7 @@ void Abc_SclShortNames( SC_Lib * p )
         SC_RingForEachCell( pClass, pCell, k )
         {
             ABC_FREE( pCell->pName );
-            sprintf( Buffer, "g%0*d_%0*d", nDigits, i, nDigits2, k );
+            snprintf( Buffer, 10000, "g%0*d_%0*d", nDigits, i, nDigits2, k );
             pCell->pName = Abc_UtilStrsav( Buffer );
             // formula
             SC_CellForEachPinOut( pCell, pPin, n )
--- src/opt/dau/dauMerge.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/opt/dau/dauMerge.c	2021-03-31 09:29:26.421031139 -0600
@@ -715,7 +715,7 @@ Dau_DsdMergeStorePrintDefs( pS );
 
     // create new function
 //    assert( nVarsTotal <= 6 );
-    sprintf( pS->pOutput, "(%s%s)", pDsd0, pDsd1 );
+    snprintf( pS->pOutput, DAU_MAX_STR, "(%s%s)", pDsd0, pDsd1 );
     pTruth = Dau_DsdToTruth( pS->pOutput, nVarsTotal );
     Status = Dau_DsdDecompose( pTruth, nVarsTotal, 0, 1, pS->pOutput );
 //printf( "%d ", Status );
--- src/proof/fra/fraCore.c.orig	2021-03-28 19:40:27.000000000 -0600
+++ src/proof/fra/fraCore.c	2021-03-31 09:29:26.421031139 -0600
@@ -163,7 +163,7 @@ static inline void Fra_FraigNodeSpeculat
     // create manager with the logic for these two nodes
     pTemp = Aig_ManExtractMiter( p->pManFraig, pObjFraig, pObjReprFraig );
     // dump the logic into a file
-    sprintf( FileName, "aig\\%03d.blif", ++Counter );
+    snprintf( FileName, 20U, "aig\\%03d.blif", ++Counter );
     Aig_ManDumpBlif( pTemp, FileName, NULL, NULL );
     printf( "Speculation cone with %d nodes was written into file \"%s\".\n", Aig_ManNodeNum(pTemp), FileName );
     // clean up