安全 記憶體拷貝,寫越界總結

2021-09-12 14:05:02 字數 473 閱讀 1010

針對wlan產品,安全拷貝函式的第二個引數未正確使用,可能存在寫越界的情況,整改辦法可以大致分為3種:

1、目的緩衝區為陣列

則第二個引數用反應目的緩衝區的真實位元組長度的值。有時候不能簡單採用sizeof()

例如:ulong a[10]

sizeof(a) = 10

a的位元組長度為10*4

memcpy的長度引數都是以位元組為單位的

2、目的緩衝區為結構體變數

那麼第二個引數就要用對應結構體的length

3、目的緩衝區為外部引數

可以為函式增加乙個表示目的緩衝區長度的引數,第二個引數改為該長度引數

寫乙個記憶體拷貝函式

include using namespace std void mymemcpy void out pdst,void in psrc,int in ilen if pdest psrc pdest cout the dest point is large than src else cout t...

頁式記憶體管理和寫時拷貝技術

1 交換的記憶體管理可以解決外部碎片的問題,把程式 倒 在磁碟上,再在記憶體上找到更大的空間將程式 倒 進來。磁碟操作耗時,就會影響效率。2 交換所能帶來的空間增長有限,單一程式不能超過物理記憶體空間。那麼解決的方法?追其根源,每個程式的大小是不一樣的,這樣記憶體分配空間時就會存在不一致。只要將虛擬...

C 記憶體分配和拷貝建構函式寫研究

昨晚參加筆試,開錯題,有印象中的概念,但目前尚不清楚是怎麼回事,什麼原理,導致錯誤的話題。現在總結。一 c 寫記憶體分配研究 問題考察例如以下,請先不要看答案,看看你是否能做對,呵呵 怎麼樣。暈了沒?正確答案及解析例如以下 解析 char p 是乙個陣列。這個陣列是區域性變數。char p 是乙個指...