diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2018-06-12 07:47:27 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2018-06-12 07:47:27 -0700 |
commit | aa2f29fa67b09c6df71df08b6b52fc2cca6cf742 (patch) | |
tree | ef68395c9e4beb323b5089e142fc75834104dc12 /src/aig/miniaig/ndr.h | |
parent | 1c990fc4f2a287ae3eafb5ee1a9e0d340d7b983e (diff) | |
download | abc-aa2f29fa67b09c6df71df08b6b52fc2cca6cf742.tar.gz abc-aa2f29fa67b09c6df71df08b6b52fc2cca6cf742.tar.bz2 abc-aa2f29fa67b09c6df71df08b6b52fc2cca6cf742.zip |
Bug fix (accessing unassigned memory).
Diffstat (limited to 'src/aig/miniaig/ndr.h')
-rw-r--r-- | src/aig/miniaig/ndr.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/aig/miniaig/ndr.h b/src/aig/miniaig/ndr.h index a1a47fa5..71a9d5ac 100644 --- a/src/aig/miniaig/ndr.h +++ b/src/aig/miniaig/ndr.h @@ -207,9 +207,15 @@ static inline void Ndr_DataPushArray( Ndr_Data_t * p, int Type, int nArray, int } static inline void Ndr_DataPushString( Ndr_Data_t * p, int Type, char * pFunc ) { + int nBuffInts; + int * pBuff; if ( !pFunc ) return; - Ndr_DataPushArray( p, Type, ((int)strlen(pFunc) + 4) / 4, (int *)pFunc ); + nBuffInts = ((int)strlen(pFunc) + 4) / 4; + pBuff = (int *)calloc( 1, 4*nBuffInts ); + memcpy( pBuff, pFunc, strlen(pFunc) ); + Ndr_DataPushArray( p, Type, nBuffInts, pBuff ); + free( pBuff ); } //////////////////////////////////////////////////////////////////////// |