func: void bad() TwoIntsClass * data ; map < int , TwoIntsClass * > dataMap ; data = NULL; data = new TwoIntsClass [ 50 ]; dataMap [ 0 ] = data; dataMap [ 1 ] = data; dataMap [ 2 ] = data; badSink ( dataMap ); void badSink(map<int, TwoIntsClass *> dataMap) TwoIntsClass * data = dataMap [ 2 ] ; TwoIntsClass source [ 100 ] ; size_t i ; for (i = 0; i < 100; i++) source [ i ] . intOne = 0; source [ i ] . intTwo = 0; memcpy ( data , source , 100 * sizeof ( TwoIntsClass ) ); printIntLine ( data [ 0 ] . intOne ); void printIntLine (int intNumber) printf ( "%d\n" , intNumber ); delete [ ] data 