深入分析C中不安全的sprintf與strcpy
更新時(shí)間:2013年05月27日 15:38:32 作者:
本篇文章是對(duì)C中不安全的sprintf與strcpy函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
經(jīng)過(guò)跟蹤調(diào)試, 發(fā)下不少 bug 源于 sprintf 和 strcpy 之類可能造緩沖區(qū)溢出的函數(shù).
應(yīng)該將所有的 sprintf 用 snprintf 替換.
將 strcpy 用 strncpy 替換, 并且將末尾字節(jié)設(shè)置為 ''\0' .
strncpy(buf, str, len);
buf[len] = 0;
應(yīng)該將所有的 sprintf 用 snprintf 替換.
將 strcpy 用 strncpy 替換, 并且將末尾字節(jié)設(shè)置為 ''\0' .
復(fù)制代碼 代碼如下:
strncpy(buf, str, len);
buf[len] = 0;
您可能感興趣的文章:
相關(guān)文章
C語(yǔ)言內(nèi)存操作函數(shù)使用示例梳理講解
這篇文章主要介紹了C語(yǔ)言庫(kù)函數(shù)中的內(nèi)存操作函數(shù)memcpy()、memmove()、memset()、memcmp()使用示例分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09
c語(yǔ)言實(shí)現(xiàn)向上取整計(jì)算方法
這篇文章主要介紹了c語(yǔ)言實(shí)現(xiàn)向上取整計(jì)算方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
2022-07-07
C語(yǔ)言調(diào)用攝像頭實(shí)現(xiàn)生成yuv未壓縮圖片
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言如何調(diào)用攝像頭實(shí)現(xiàn)生成yuv未壓縮圖片,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以參考一下
2023-11-11
C++超詳細(xì)講解貪心策略的設(shè)計(jì)及解決會(huì)場(chǎng)安排問(wèn)題
為了更好的應(yīng)對(duì)《算法設(shè)計(jì)與分析》這門課程,我把書上以及老師講過(guò)的案例都詳細(xì)的做一個(gè)重現(xiàn)及解剖,讓你熟記每一個(gè)潛在的考點(diǎn),希望能給大家?guī)椭?/div> 2022-05-05
Matlab實(shí)現(xiàn)繪制高階版本韋恩圖(upset圖)
韋恩圖隨著階數(shù)升高會(huì)越來(lái)越復(fù)雜,當(dāng)階數(shù)達(dá)到7或者以上時(shí)幾乎沒辦法繪制,但是使用upset圖卻可以比較輕易的繪制。本文就來(lái)用Matlab實(shí)現(xiàn)繪制upset圖,需要的可以參考一下
2023-01-01 
