free(): double free detected in tcache 2 如何解决
发布日期:2021-05-04 14:52:21 浏览次数:10 分类:技术文章

本文共 270 字,大约阅读时间需要 1 分钟。

free(): double free detected in tcache 2 如何解决

问题描述

原因

free():在tcache 2中检测到双空闲,在执行程序的过程中对同一块内存单元进行了两次free()操作。

在循环中包含free();语句,容易出现这类问题。

解决方法

可以设置两个指针,进行操作,下面给出示范

出现double free() 的报错
问题代码
只设置了一个指针变量n,在循环的过程中,会再次对n进行free();操作因此会出现此次问题

double free()得到解决

正常代码
设置两个指针变量,n与pn,可以有效的避免双重空闲的问题

上一篇:输出格式:存在多余的空行
下一篇:2021-04-15

发表评论

最新留言

很好
[***.229.124.182]2025年03月20日 07时33分25秒