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

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

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

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

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

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

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

相关推荐
松涛和鸣1 分钟前
69、Linux字符设备驱动实战
linux·服务器·网络·arm开发·数据库·驱动开发
女王大人万岁4 分钟前
Go语言JSON标准库(encoding/json):功能解析与实战指南
服务器·开发语言·后端·golang·json
TangDuoduo00054 分钟前
【Linux下LED基础设备驱动】
linux·驱动开发
cyber_两只龙宝12 分钟前
haproxy--使用socat工具实现对haproxy权重配置的热更新
linux·运维·负载均衡·haproxy·socat
٩( 'ω' )و26015 分钟前
linux网络--基础概念
linux·网络
zhang61839915 分钟前
Linux中不同服务器之间迁移python 虚拟环境-conda-pack
linux·运维·python
枫叶丹416 分钟前
【Qt开发】Qt系统(十二)-> Qt视频
c语言·开发语言·c++·qt·音视频
浅念-19 分钟前
C语言文件操作
c语言·c++·经验分享·笔记·学习
HIT_Weston20 分钟前
121、【Ubuntu】【Hugo】首页板块配置:list 模板(一)
linux·ubuntu·list
The森22 分钟前
万字长文外加示例:进入内核理解Linux 文件描述符(fd) 和 “一切皆文件” 理念
linux·经验分享·笔记