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

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

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

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

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

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

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

相关推荐
白菜欣25 分钟前
Linux — 进程控制
android·linux·运维
皮卡狮1 小时前
Linux开发专属工具
linux
weixin_421725261 小时前
Linux 编程语言全解析:C、C++、Python、Go、Rust 谁更强?
linux·python·go·c·编程语言
Tolalal2 小时前
Vmware Ubuntu虚拟机扩容
linux·运维·ubuntu
我星期八休息2 小时前
Linux系统编程—基础IO
linux·运维·服务器·c语言·c++·人工智能·算法
Shingmc32 小时前
【Linux】数据链路层
linux·服务器·网络
bksczm3 小时前
文件描述符
linux
Goldbioinformatics3 小时前
Windows版Claude Cowork启动Linux问题
linux·运维·windows
念恒123063 小时前
Ext系列文件系统(下)
linux·运维·服务器