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

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

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

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

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

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

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

相关推荐
万事可爱^8 分钟前
GitHub爆火开源项目——RustScan深度拆解
c语言·开发语言·rust·开源·github·rustscan
冉佳驹1 小时前
数据结构 ——— 八大排序算法的思想及其实现
c语言·数据结构·排序算法·归并排序·希尔排序·快速排序·计数排序
HalvmånEver2 小时前
Linux:基础开发工具(五)
linux·运维·服务器
qq_278984132 小时前
ubuntu vlan网络设置
linux·服务器·网络
q***58192 小时前
基础篇:Linux安装redis教程(详细)
linux·运维·redis
小二·2 小时前
Linux 高频面试题(50道 + 详细答案)
linux·运维·服务器
FLPGYH2 小时前
BMC 深度解析:服务器带外管理的核心技术架构与实践
linux·服务器·c++·驱动开发
史丹利复合田3 小时前
在openEuler上安装Atune并成功运行
linux
q***44923 小时前
如何在 Ubuntu 22.04 上安装 MySQL
linux·mysql·ubuntu
异步的告白3 小时前
C语言-数据结构-2-单链表程序-增删改查
c语言·开发语言·数据结构