提问人:Debuholden 提问时间:11/9/2023 更新时间:11/9/2023 访问量:71
'malloc(): corrupted top size'是什么意思
What is the meaning of `malloc(): corrupted top size`
问:
我正在尝试将结构指针附加到动态分配的数组中。之后,我返回添加到数组中的结构指针。然后将其取消引用并放入我想要打印的变量中。我的问题是,当我尝试访问一个值(即)时,编译器会告诉我 和 。struct.id
malloc(): corrupted top size
Aborted (core dumped)
到目前为止,我所看到的任何地方都只是简单地回答了如何解决问题,但我似乎无法弄清楚它的实际含义,或者只是找到对我没有帮助的非常模糊的定义。此外,没有一种解决方案适用于我的特定情况。已中止(核心转储)
答:
0赞
0___________
11/9/2023
#1
是什么意思
malloc(): corrupted top size
这意味着您的程序很可能通过访问其边界之外的分配内存块来调用 Undefined Behaviour。
但它也可能是由其他原因引起的(例如,不相关的内存访问更改了包含 ed 内存元数据的内存)。malloc
此外,没有一种解决方案适用于我的特定情况。中止 (核心倾倒)
这是UB表达自己的方式之一。这不是“你的条件”。您需要找到调用 UB 的内容。
评论
strcut whatever *ptr = malloc(sizeof *ptr); ptr[1] = INVALID ACCESS;