還記得第一次被 code reviewer 退回程式碼的心情嗎?當時我只是用了一個看似平凡無奇的 sprintf 函數,卻被標註為「嚴重安全問題」。當下我心想:「不就是格式化字串嗎?有這麼嚴重?」直到我深入了解後才發現,這個小小的函數選擇,可能是駭客入侵系統的大門。今天,讓我們一起來探討為什麼 sprintf 如此危險,以及為什麼所有 C 語言開發者都應該改用 snprintf。
韌體開發 x 踩坑心得 x 讓錢慢慢長大
還記得第一次被 code reviewer 退回程式碼的心情嗎?當時我只是用了一個看似平凡無奇的 sprintf 函數,卻被標註為「嚴重安全問題」。當下我心想:「不就是格式化字串嗎?有這麼嚴重?」直到我深入了解後才發現,這個小小的函數選擇,可能是駭客入侵系統的大門。今天,讓我們一起來探討為什麼 sprintf 如此危險,以及為什麼所有 C 語言開發者都應該改用 snprintf。