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

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

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

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

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

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

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

相关推荐
夜之眷属12 小时前
记一次战斗服务器 CPU 打满 100% 且“无法恢复“的排查
java·linux·运维·服务器·后端·性能优化
九章-悲回风13 小时前
Linux - Docker及常用镜像部署
linux·运维·docker
xUxIAOrUIII13 小时前
守护进程(daemon)
linux·运维
流浪00113 小时前
Linux系统篇44——线程(九) 互斥锁的接口与原理,从 xchgb 的原子交换说起
linux·操作系统·线程·互斥锁·互斥锁原理
Fcy64813 小时前
Linux下 网络层IP协议详解
linux·运维·tcp/ip
zhangx1234_13 小时前
javaEE 多线程1
java·linux·服务器
沙滩上的一颗石头13 小时前
裴讯N1刷Armbian后写入EMMC引导失败解决方法
linux
陌上花开缓缓归以15 小时前
arm linux ddr 内存布局
linux·arm开发
龙腾-虎跃15 小时前
Linux 趣味实战|纯 Bash Shell 脚本实现俄罗斯方块终端小游戏(完整源码资源)
linux·运维·bash
阳光九叶草LXGZXJ1 天前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习