2020-06-18 17:18:53
除錯環境:windows10 + Visual Studi 2013 C語言
在Release模式下除錯Debug模式下無誤的一個程式時,反復遇到堆疊 Cookie 檢測代碼檢測到基于堆疊的緩沖區溢位問題,在網上查一下資料表示都是陣列越界的問題,叫本人詳細查詢陣列大小的操作,經過反復的查找并未發現直接的陣列越界問題,但是將問題定位在了一個輸入為陣列的函式之內,該函式return執行后即提示緩沖區溢位如下:

隨后又查了一下__fastfail(FAST_FAIL_STACK_COOKIE_CHECK_FAILURE)的相關問題,將所有的相關陣列都檢查了賦初值操作后也無果;靈機一動想到,是不是因為對輸入的陣列直接進行了操作導致無法釋放輸入陣列,函式內重建一個新的陣列賦值輸入陣列的內容再操作新的陣列果然不再報錯了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/9952.html
標籤:C
上一篇:C連載8-Printf中格數輸出的不同樣式以及原理分析
下一篇:磨皮美顏演算法 附完整C代碼
