我有一个陈述
strncpy(&data->m_bin->data,versionStr,data->m_bin->sizeData);
在我的应用程序中,它本身很好并且运行良好。这里的data-> m_bin-> data是一个char,在其中调用应用程序确保它后面是一个数据块,该数据块足够大以保留strncpy()移交的所有数据。
但是当我使用GCC / Linux构建此版本时,此函数在__strncpy_chk()中崩溃。因此,看来我的strncpy()被__strncpy_chk()取代了,参数s1的长度错误。
那么我如何确保以s1的正确长度调用__strncpy_chk()?
谢谢!