free的時候ABORTING: LIBC: ARGUMENT IS INVALID HEAP

今天和一個韓國公司聯調, 在c代碼中爆出以下錯誤, 讓人很鬱悶 html

11-02 16:09:19.055: A/libc(7453): @@@ ABORTING: LIBC: ARGUMENT IS INVALID HEAP ADDRESS IN dlfree addr=0xb84b7d78 spa

11-02 16:09:19.055: A/libc(7453): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 7453 (aon.aremotecool)


最後搜索資料發現有人遇到了類似的錯誤, 這個錯誤主要是 越界讀寫 形成的 .net

例子: code

 char* format = (char*)malloc(16); //16的倍數  orm

 format[16] = "\0"; htm

free(format); blog

format最大的index是15 操做16是沒問題的, 是釋放 fromat的時候就開始崩潰了 內存

之後仍是注意一些 c語言字符串形成的問題 rem


參考 字符串

內存寫越界致使破環堆結構引發的崩潰問題定位經驗[如報錯malloc(): memory corruption或free(): invalid next size] 

如何實現一個malloc

相關文章
相關標籤/搜索