防范辦法如下:
不要用%n formatter;
%n formatter
不要把用戶的輸入作為參數傳到格式化字符串處理函數中,例如,printf(“%s”, argv[1]);
字符串處理避免使用strcpy,strcat,sprintf,gets。應該使用strncpy,strncat,snprintf。strlcpy和strlcat都是NULL結尾。盡量使用std::string,MFC::CString
使用C++ I/O函數
C++ I/O
使用安全的C Runtime Time函數
C Runtime Time函數
檢查文件路徑的長度,不要超過系統允許的最大值。
回答所涉及的環境:聯想天逸510S、Windows 10。
防范辦法如下:
不要用
%n formatter;不要把用戶的輸入作為參數傳到格式化字符串處理函數中,例如,printf(“%s”, argv[1]);
字符串處理避免使用strcpy,strcat,sprintf,gets。應該使用strncpy,strncat,snprintf。strlcpy和strlcat都是NULL結尾。盡量使用std::string,MFC::CString
使用
C++ I/O函數使用安全的
C Runtime Time函數檢查文件路徑的長度,不要超過系統允許的最大值。
回答所涉及的環境:聯想天逸510S、Windows 10。