The conversion stops if:
- The null character was converted and stored.
srcis set to a null pointer...
So yes, setting m_data to null is the expected and documented side effect of the function you use.
wcsrtombs did not make a const pointer null. In the type const wchar_t**, it's the wchar_t - the pointed-to data - that is const. Not the pointer that points to it (that would have been wchar_t* const *)