指出下面程序哪里可能有问题?
class CBuffer { char * m_pBuffer; int m_size; public: CBuffer() { m_pBuffer=NULL; } ~CBuffer() { Free(); } void Allocte(int size) // (1) { m_size=size; m_pBuffer= new char[size]; } private: void Free() { if(m_pBuffer!=NULL) // (2) { delete[] m_pBuffer; m_pBuffer=NULL; } } public: void SaveString(const char* pText) const // (3) { strcpy(m_pBuffer, pText); // (4) } char* GetBuffer() const { return m_pBuffer; } }; int main (int argc, char* argv[]) { CBuffer buffer1; buffer1.SaveString("Microsoft"); printf(buffer1.GetBuffer()); return 0; }