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

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

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

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

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

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

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

相关推荐
为思念酝酿的痛18 小时前
POSIX信号量
linux·运维·服务器·后端
油炸自行车18 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
人还是要有梦想的19 小时前
linux下用搜狗输入法,中英文切换
linux·运维·服务器
bush420 小时前
嵌入式linux学习记录二
linux·运维·学习
9分钟带帽20 小时前
linux_通过NFS挂载远程服务器的硬盘
linux·服务器
Bluetooth73021 小时前
c语言一维数组
c语言
QiLinkOS1 天前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
运维栈记1 天前
API Error: 400 Request body format invalid
linux·ai
小白兔奶糖ovo1 天前
【Leetcode】231. 2的幂
linux·算法·leetcode
s_w.h1 天前
【 linux 】动静态库的制作
linux·运维·服务器·算法·bash