summaryrefslogtreecommitdiffstats
path: root/src/aig/miniaig
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2018-06-12 07:47:27 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2018-06-12 07:47:27 -0700
commitaa2f29fa67b09c6df71df08b6b52fc2cca6cf742 (patch)
treeef68395c9e4beb323b5089e142fc75834104dc12 /src/aig/miniaig
parent1c990fc4f2a287ae3eafb5ee1a9e0d340d7b983e (diff)
downloadabc-aa2f29fa67b09c6df71df08b6b52fc2cca6cf742.tar.gz
abc-aa2f29fa67b09c6df71df08b6b52fc2cca6cf742.tar.bz2
abc-aa2f29fa67b09c6df71df08b6b52fc2cca6cf742.zip
Bug fix (accessing unassigned memory).
Diffstat (limited to 'src/aig/miniaig')
-rw-r--r--src/aig/miniaig/ndr.h8
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 );
}
////////////////////////////////////////////////////////////////////////