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

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

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

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

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

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

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

相关推荐
Mr.H01271 小时前
多线程文件拷贝:从原理到实现的完整指南
linux·运维
橘子真甜~1 小时前
C/C++ Linux网络编程5 - 网络IO模型与select解决客户端并发连接问题
linux·运维·服务器·c语言·开发语言·网络·c++
oushaojun21 小时前
Linux内核KGDB进阶:源码级调试实战演练(转)
linux·运维·kgdb
船长㉿2 小时前
vim常用命令
linux·编辑器·vim
大聪明-PLUS2 小时前
Linux 系统中的 CPU。文章 2:平均负载
linux·嵌入式·arm·smarc
listhi5202 小时前
使用SCP命令在CentOS 7上向目标服务器传输文件
linux·服务器·centos
wangjialelele2 小时前
详解mysql命令行操作与语言链接
c语言·数据库·c++·mysql·oracle
天一生水water3 小时前
什么是调压器的P2s
linux·服务器·网络
风中凌乱3 小时前
ftp服务的安装与部署
linux·服务器
赖small强3 小时前
【Linux驱动开发】Linux Input子系统架构深度解析
linux·驱动开发·input·按键驱动·libinput