- m_wcs = wcs ? (wchar_t *)malloc((wcslen(wcs)+1)*sizeof(wchar_t))
- : (wchar_t *)NULL;
- if (m_wcs) wcscpy(m_wcs, wcs);
+ if (wcs) {
+ size_t siz = (wcslen(wcs)+1)*sizeof(wchar_t);
+ m_wcs = (wchar_t *)malloc(siz);
+ memcpy(m_wcs, wcs, siz);
+ }
+ else m_wcs = (wchar_t *)NULL;