func: void bad() char * data ; data = ( char * ) malloc ( 100 * sizeof ( char ) ); data [ 0 ] = '\0'; CWE761_Free_Pointer_Not_at_Start_of_Buffer__char_environment_84_bad * badObject = new CWE761_Free_Pointer_Not_at_Start_of_Buffer__char_environment_84_bad ( data ) ; CWE761_Free_Pointer_Not_at_Start_of_Buffer__char_environment_84_bad::CWE761_Free_Pointer_Not_at_Start_of_Buffer__char_environment_84_bad(char * dataCopy) data = dataCopy; size_t dataLen = strlen ( data ) ; char * environment = GETENV ( ENV_VARIABLE ) ; if ( environment != NULL )  strncat ( data + dataLen , environment , 100 - dataLen - 1 ); 