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

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

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

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

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

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

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

相关推荐
啦啦啦啦啦zzzz14 小时前
ET和LT详解
linux·运维·服务器·网络·c++·网络编程
梦難14 小时前
linux的系统命令
linux·服务器·网络
钱栈up14 小时前
别忽略INFO日志:我用AI编码助手1小时修完3个接口的隐藏Bug
后端·json·trae
高亦真14 小时前
今天是学习嵌入式的第31天
linux·学习·算法
Doraemomo14 小时前
Linux编程-并发TCP服务器实现与IO多路复用
linux·服务器·tcp/ip
也曾看到过繁星15 小时前
Linux---vim 编辑器
linux·编辑器·vim
是小李呀15 小时前
Linux 服务器从零部署 kkFileView 完全指南(Docker 方案)
linux
OpenCloudOS15 小时前
高危|Linux 内核 XFS reflink 本地提权漏洞修复指南
linux·网络·安全
小HANN15 小时前
保姆级实战:CentOS7 搭建 LAMP 环境部署 WordPress 个人博客
linux·运维·服务器·经验分享
神仙别闹15 小时前
基于C语言+SQLite 实现(控制台+图形界面)图书管理系统
c语言·开发语言·sqlite