--- src/aig/aig/aigUtil.c.orig 2019-05-30 20:27:31.000000000 -0600 +++ src/aig/aig/aigUtil.c 2019-06-04 09:42:11.236444258 -0600 @@ -725,7 +725,7 @@ void Aig_ManPrintVerbose( Aig_Man_t * p, void Aig_ManDump( Aig_Man_t * p ) { static int Counter = 0; - char FileName[20]; + char FileName[24]; // dump the logic into a file sprintf( FileName, "aigbug\\%03d.blif", ++Counter ); Aig_ManDumpBlif( p, FileName, NULL, NULL ); --- src/aig/gia/giaScript.c.orig 2019-05-30 20:27:31.000000000 -0600 +++ src/aig/gia/giaScript.c 2019-06-04 09:42:11.237444240 -0600 @@ -610,10 +610,10 @@ void Gia_ManPerformFlow( int fIsMapped, void Gia_ManPerformFlow2( int fIsMapped, int nAnds, int nLevels, int nLutSize, int nCutNum, int fBalance, int fMinAve, int fUseMfs, int fVerbose ) { char Comm1[100], Comm2[100], Comm3[100], Comm4[100]; - sprintf( Comm1, "&synch2 -K %d -C 500; &if -m%s -K %d -C %d; %s &save", nLutSize, fMinAve?"t":"", nLutSize, nCutNum, fUseMfs ? "&put; mfs2 -W 4 -M 500 -C 7000; &get -m;":"" ); - sprintf( Comm2, "&dch -C 500; &if -m%s -K %d -C %d; %s &save", fMinAve?"t":"", nLutSize, nCutNum+4, fUseMfs ? "&put; mfs2 -W 4 -M 500 -C 7000; &get -m;":"" ); - sprintf( Comm3, "&synch2 -K %d -C 500; &lf -m%s -E 5 -K %d -C %d; %s &save", nLutSize, fMinAve?"t":"", nLutSize, nCutNum, fUseMfs ? "&put; mfs2 -W 4 -M 500 -C 7000; &get -m;":"" ); - sprintf( Comm4, "&dch -C 500; &lf -m%sk -E 5 -K %d -C %d; %s &save", fMinAve?"t":"", nLutSize, nCutNum+4, fUseMfs ? "&put; mfs2 -W 4 -M 500 -C 7000; &get -m;":"" ); + snprintf( Comm1, 100U, "&synch2 -K %d -C 500; &if -m%s -K %d -C %d; %s &save", nLutSize, fMinAve?"t":"", nLutSize, nCutNum, fUseMfs ? "&put; mfs2 -W 4 -M 500 -C 7000; &get -m;":"" ); + snprintf( Comm2, 100U, "&dch -C 500; &if -m%s -K %d -C %d; %s &save", fMinAve?"t":"", nLutSize, nCutNum+4, fUseMfs ? "&put; mfs2 -W 4 -M 500 -C 7000; &get -m;":"" ); + snprintf( Comm3, 100U, "&synch2 -K %d -C 500; &lf -m%s -E 5 -K %d -C %d; %s &save", nLutSize, fMinAve?"t":"", nLutSize, nCutNum, fUseMfs ? "&put; mfs2 -W 4 -M 500 -C 7000; &get -m;":"" ); + snprintf( Comm4, 100U, "&dch -C 500; &lf -m%sk -E 5 -K %d -C %d; %s &save", fMinAve?"t":"", nLutSize, nCutNum+4, fUseMfs ? "&put; mfs2 -W 4 -M 500 -C 7000; &get -m;":"" ); // perform synthesis if ( fVerbose ) --- src/base/abci/abcMiter.c.orig 2019-05-30 20:27:31.000000000 -0600 +++ src/base/abci/abcMiter.c 2019-06-04 09:42:11.238444223 -0600 @@ -860,7 +860,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 2019-06-04 09:40:32.232191985 -0600 +++ src/base/io/ioReadBlifMv.c 2019-06-04 09:42:11.239444205 -0600 @@ -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/ver/verCore.c.orig 2019-05-30 20:27:31.000000000 -0600 +++ src/base/ver/verCore.c 2019-06-04 09:42:11.240444188 -0600 @@ -1171,7 +1171,7 @@ int Ver_ParseAssign( Ver_Man_t * pMan, A pNode = Abc_NtkCreateNodeBuf( pNtk, pNet ); // get the fanout net - sprintf( Buffer2, "%s[%d]", Buffer, Bit ); + snprintf( Buffer2, 1000U, "%s[%d]", Buffer, Bit ); pNet = Ver_ParseFindNet( pNtk, Buffer2 ); if ( pNet == NULL ) { --- src/base/wlc/wlcNdr.c.orig 2019-05-30 20:27:31.000000000 -0600 +++ src/base/wlc/wlcNdr.c 2019-06-04 09:42:11.241444170 -0600 @@ -478,7 +478,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/wln/wlnNdr.c.orig 2019-05-30 20:27:31.000000000 -0600 +++ src/base/wln/wlnNdr.c 2019-06-04 09:42:11.242444152 -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/bdd/cas/casCore.c.orig 2019-05-30 20:27:31.000000000 -0600 +++ src/bdd/cas/casCore.c 2019-06-04 09:42:11.243444135 -0600 @@ -259,7 +259,7 @@ int Abc_CascadeExperiment( char * pFileG if ( fCheck ) { char Command[200]; - sprintf( Command, "cec %s %s", FileNameIni, FileNameFin ); + snprintf( Command, 200U, "cec %s %s", FileNameIni, FileNameFin ); Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), Command ); } --- src/opt/dau/dauMerge.c.orig 2019-05-30 20:27:31.000000000 -0600 +++ src/opt/dau/dauMerge.c 2019-06-04 09:42:11.243444135 -0600 @@ -661,7 +661,7 @@ printf( "%s\n", pDsd1 ); nVarsShared = Dau_DsdMergeFindShared(pDsd0, pDsd1, pMatches0, pMatches1, pVarPres); if ( nVarsShared == 0 ) { - sprintf( pRes, "(%s%s)", pDsd0, pDsd1 ); + snprintf( pRes, DAU_MAX_STR, "(%s%s)", pDsd0, pDsd1 ); if ( fVerbose ) printf( "Disjoint:\n" ); if ( fVerbose ) @@ -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 2019-05-30 20:27:31.000000000 -0600 +++ src/proof/fra/fraCore.c 2019-06-04 09:42:11.243444135 -0600 @@ -156,7 +156,7 @@ int Fra_FraigMiterAssertedOutput( Aig_Ma static inline void Fra_FraigNodeSpeculate( Fra_Man_t * p, Aig_Obj_t * pObj, Aig_Obj_t * pObjFraig, Aig_Obj_t * pObjReprFraig ) { static int Counter = 0; - char FileName[20]; + char FileName[24]; Aig_Man_t * pTemp; Aig_Obj_t * pNode; int i; --- src/sat/bmc/bmcMaj.c.orig 2019-05-30 20:27:31.000000000 -0600 +++ src/sat/bmc/bmcMaj.c 2019-06-04 09:42:11.243444135 -0600 @@ -585,7 +585,7 @@ void Exa_ManDumpBlif( Exa_Man_t * p, int Extra_PrintHexadecimalString( Buffer, (unsigned *)p->pTruth, p->nVars ); if ( fCompl ) Abc_TtNot( p->pTruth, p->nWords ); - sprintf( FileName, "%s_%d_%d.blif", Buffer, 2, p->nNodes ); + snprintf( FileName, 1000U, "%s_%d_%d.blif", Buffer, 2, p->nNodes ); pFile = fopen( FileName, "wb" ); fprintf( pFile, "# Realization of the %d-input function %s using %d two-input gates:\n", p->nVars, Buffer, p->nNodes ); fprintf( pFile, ".model %s_%d_%d\n", Buffer, 2, p->nNodes );