第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

問c語言庫函數strcpy等哪些有緩沖區(qū)溢出?

問c語言庫函數strcpy等哪些有緩沖區(qū)溢出?

Yii
慕村225694 2019-02-06 11:07:48
問c語言庫函數strcpy、strcat、sprintf、vsprintf、gets、scanf、getc、fgetc、getchar哪些有緩沖區(qū)溢出
查看完整描述

3 回答

?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

strcpy是將原地址的字符拷貝到目標地址空間,程序內部沒有檢查目標空間是否可以完全容納原字符串的大小,所以會溢出。這個要求函數調用者保證目標空間足夠大、
strcat是將字符追加在原來字符串的后面,也沒有檢查原地址空間的大小,所以會溢出。該函數要求調用者清楚源地址空間足夠容納要追加的字符串、
sprintf、vsprintf是將字符串格式化給一個地址空間,但是沒有檢查該地址空間是都能夠完全容納格式化之后的字符串,所以會產生溢出、
gets、scanf(采用%s格式)同樣將IO輸入的字符串填寫到目標地址空間中,而沒有檢查地址空間的大小,會溢出
getc、fgetc、getchar,每次只獲取一個字符,只要指定了目標空間,都能完全容納,不會溢出

查看完整回答
反對 回復 2019-03-20
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

strcpy、strcat、scanf 這些 用法不當可能會溢出 其實看那你細心不細心了
大牛用這個函數照樣 寫出高大上的代碼
小菜就算讓你用再安全的函數 你也寫不出高達上的代碼

查看完整回答
反對 回復 2019-03-20
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

除了后三個,前面的都有.因為根據聲明,他們都沒有(或者使用者會忽略)檢查緩沖區(qū)的長度.
后三個本質上是一個函數fgetc,因為它的功能是返回一個整數.

查看完整回答
反對 回復 2019-03-20
  • 3 回答
  • 0 關注
  • 1219 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號