From aa2f29fa67b09c6df71df08b6b52fc2cca6cf742 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Tue, 12 Jun 2018 07:47:27 -0700 Subject: Bug fix (accessing unassigned memory). --- src/aig/miniaig/ndr.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') 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 ); } //////////////////////////////////////////////////////////////////////// -- cgit v1.2.3