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

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

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

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

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

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

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

相关推荐
灵哎惹,凌沃敏16 分钟前
FreeRTOS 任务上下文切换核心函数:xPortPendSVHandler详解
c语言·arm开发
拜托啦!狮子32 分钟前
安装和使用Homer(linux)
linux·运维·服务器
liulilittle1 小时前
XDP VNP虚拟以太网关(章节:一)
linux·服务器·开发语言·网络·c++·通信·xdp
Sapphire~1 小时前
Linux-13 火狐浏览器书签丢失解决
linux
不染尘.1 小时前
进程切换和线程调度
linux·数据结构·windows·缓存
码界奇点1 小时前
灵活性与高性能兼得KingbaseES 对 JSON 数据的全面支持深度解析
数据库·json·es
喵了meme1 小时前
C语言实战练习
c语言·开发语言
White_Can2 小时前
《C++11:列表初始化》
c语言·开发语言·c++·vscode·stl
剑之所向2 小时前
c# modbus大小端
linux·运维·网络
比奇堡派星星2 小时前
Linux4.4使用AW9523
linux·开发语言·arm开发·驱动开发