- DWORD len = DdeGetData(returned_data, (LPBYTE)m_bufPtr, m_bufSize, 0);
+ DWORD len = DdeGetData(returned_data, NULL, 0, 0);
+
+ wxChar *data = GetBufferAtLeast( len );
+ wxASSERT_MSG(data != NULL,
+ _T("Buffer too small in wxDDEConnection::Request") );
+ DdeGetData(returned_data, (LPBYTE)data, len, 0);