當前位置:網站首頁>解决報錯:AddressSanitizer: heap-buffer-overflow
解决報錯:AddressSanitizer: heap-buffer-overflow
2022-01-27 02:24:12 【山頂夕景】
leetcode上報錯:
=================================================================
==42==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60c000000888 at pc 0x00000034f486 bp 0x7ffd5554bb10 sp 0x7ffd5554bb08
READ of size 8 at 0x60c000000888 thread T0
#4 0x7fb0243d90b2 (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
Address 0x60c000000888 is a wild pointer.
Shadow bytes around the buggy address:
0x0c187fff80c0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c187fff80d0: fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa fa
0x0c187fff80e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa
0x0c187fff80f0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
0x0c187fff8100: 00 00 00 00 00 00 00 fa fa fa fa fa fa fa fa fa
=>0x0c187fff8110: fa[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c187fff8120: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c187fff8130: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c187fff8140: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c187fff8150: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c187fff8160: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==42==ABORTING
leetcode使用AddressSanitizer檢查內存是否存在非法訪問。報此錯,主要是訪問了非法內容。
解决方法:數組訪問越界,導致此錯,後來發現是在訪問二維數組的邊界row和col弄反了。。
【注意】
LeetCode系統在執行代碼時,系統都會判斷數組越界問題,並直接報錯,根據經驗leetcode在用到數組或指針時,做兩種處理:
- 1.定義指針時,需要申請內存塊,如 int* data = malloc(SIZE * sizeof(int));後面訪問指針時,不要大於SIZE值的地址範圍。
- 2.定義數組,如int data[SIZE] 後,訪問數組時,不要大於SIZE值的地址範圍。
版權聲明
本文為[山頂夕景]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201270224115458.html
邊欄推薦
猜你喜歡
隨機推薦
- uniapp上傳圖片及組件傳值
- 瑞利年金險資金保障安全嗎?收益高不高啊?
- 華為手機USB連不上電腦的解决方法
- Flutter 2,移動金融應用開發
- 關於st25系列NFC標簽簡單介紹及st25TV系列用於門禁讀取時的注意事項總結
- 關於用ffmpeg轉手機視頻發現視頻長寬倒了的問題
- 函數 / 類模板--模板2
- 數組中的第k個最大的元素--優先級隊列、排序、堆、排序
- 單片機實例27——ADC0809A/D轉換器基本應用技術(硬件電路圖+匯編程序+C語言程序)
- Collection集合的學習
- 一場面試結束,某度員工從事Android 5年為何還是初級工程師?
- 3本書閱讀筆記【人月神話-Go語言實戰-研發能力持續成長路線】01
- PHP垃圾回收機制
- 【電子技術】什麼是LFSR?
- 死鎖?如何定比特到死鎖?如何修複死鎖?(jps和jstack兩個工具)
- 快樂寒假 22/01/20
- image
- 噴程序員?SURE?
- LDO分壓電阻計算小工具
- 面試之求一串字符串中每個字符的出現次數
- 【ISO15765_UDS&OBD診斷】-01-概述
- 【Mysql上分之路】第九篇:Mysql存儲引擎
- RHCE 第一次作業
- 2021.10.16我的第一篇博客:一切皆有可能!
- CTA-敏感行為-讀取IMEI
- 面試被問怎麼排查平時遇到的系統CPU飆高和頻繁GC,該怎麼回答?
- nuxt項目總結-綜合
- 自然語言處理學習筆記(一)
- C語言第一課
- 各比特大佬,Spark的重點難點系列暫時更新完畢
- 基於 esbuild 的 universal bundler 設計
- XCTFre逆向(四):insanity
- 理解什麼是真正的並發數
- JVM腦圖
- 【Pytorch(四)】學習如何使用 PyTorch 讀取並處理數據集
- 函數棧幀的創建與銷毀
- 構建神經網絡- 手寫字體識別案例
- 多模態生成模型ERNIE-VILG
- kotlin不容忽視的小細節
- 備戰一年,終於斬獲騰訊T3,我堅信成功是可以複制的