怎樣纔算最好的做法來處理什麼意思是一個字符串作爲 參數傳遞給函數即不可信的字符指針參數
int use_the_force(const char *dark_side_file_name) {
char *safe_force_it_is = Yoda(dark_side_file_name);
return useTheForceYouCan(safe_force_it_is);
}
假設主叫方達斯·維達,你會尤達做的,以確保當我們在「safe_force_it_is」上使用像strlen/strnlen或memchr之類的東西時,有一個NULL終止符,並且當我們使用我們期望的有效的字符串時,我們不會跑到黑暗的一面?
你幾乎沒有辦法。除非你有一些「最大預期字符串長度」的概念。 – 2014-09-24 08:27:12
這就是說,什麼是(現實的)情況下,這將是一個問題?即如果您處於惡意代碼調用您的代碼的情況,那麼您肯定已經有問題了? – 2014-09-24 08:29:59