在使用JSON过程中遇到的一个空间释放问题

在对完成的模块进行空间访问检查中发现了这个问题,这刚开始接触JSON的使用,也不知道他的内部实现,因此该问题找了好久,终于发现是每个节点创建都会自动开辟空间,因此造成空间未成功释放的错误。

JSON未成功替换节点空间释放问题

cJSON_ReplaceItemInObject(ties,"time", CJSON_CreateString(curtime));

在上述节点替换函数中,若ties节点内没有time节点,则会替换失败,新创建的CJSON_CreateString(curtime)节点不会加入到大节点上,因此递归释放根节点时,新创建的该节点不会被释放。

因此未成功挂载到根上的节点需要单独释放空间。

大家在项目中一定要养成空间随开随关的习惯啊

相关推荐
念恒123068 分钟前
进程间通信
linux·服务器·网络
tang74516396213 分钟前
Huawei Cloud EulerOS 2.0(x8664)安装OpenJDK 2120260323
linux·运维·centos
2301_7779983426 分钟前
基础IO:IO操作&&重定向
linux·c语言
社交怪人28 分钟前
【收费】信息学奥赛一本通C语言解法(题号2055)
c语言
夜月yeyue33 分钟前
TCP/IP 协议解析
linux·服务器·c语言·网络·网络协议·tcp/ip
__Witheart__33 分钟前
Android 驱动编译为模块或者built-in内核
android·linux·数据库
好名字更能让你们记住我34 分钟前
通过docker在本地部署博客系统服务
linux·运维·服务器·ubuntu·docker·容器
hai31524754344 分钟前
FiveOS V3.0 交付(微服务器操作系统版 · 物理合规修正
linux·人工智能·spring boot·后端·神经网络·机器学习
文青小兵1 小时前
Linux云计算——docker 告警(六)
linux·运维·docker·云计算·prometheus
xiep14383335101 小时前
CentOS 7.9 安装 TigerVNC
linux·运维·centos