func: void bad() wchar_t * data ; data = ( wchar_t * ) malloc ( 100 * sizeof ( wchar_t ) ); CWE761_Free_Pointer_Not_at_Start_of_Buffer__wchar_t_fixed_string_84_bad * badObject = new CWE761_Free_Pointer_Not_at_Start_of_Buffer__wchar_t_fixed_string_84_bad ( data ) ; CWE761_Free_Pointer_Not_at_Start_of_Buffer__wchar_t_fixed_string_84_bad::CWE761_Free_Pointer_Not_at_Start_of_Buffer__wchar_t_fixed_string_84_bad(wchar_t * dataCopy) data = dataCopy; wcscpy ( data , BAD_SOURCE_FIXED_STRING ); delete badObject CWE761_Free_Pointer_Not_at_Start_of_Buffer__wchar_t_fixed_string_84_bad::~CWE761_Free_Pointer_Not_at_Start_of_Buffer__wchar_t_fixed_string_84_bad() for (  * data != L '\0' data ++ ) if ( * data == SEARCH_CHAR )  free ( data ); 