经过跟踪调试, 发下不少 bug 源于 sprintf 和 strcpy 之类可能造缓冲区溢出的函数.
应该将所有的 sprintf 用 snprintf 替换.
将 strcpy 用 strncpy 替换, 并且将末尾字节设置为 ''\0' .
复制代码 代码如下:
strncpy(buf, str, len);
buf[len] = 0;
经过跟踪调试, 发下不少 bug 源于 sprintf 和 strcpy 之类可能造缓冲区溢出的函数.
应该将所有的 sprintf 用 snprintf 替换.
将 strcpy 用 strncpy 替换, 并且将末尾字节设置为 ''\0' .
复制代码 代码如下:
strncpy(buf, str, len);
buf[len] = 0;