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

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

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

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

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

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

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

相关推荐
feng68_20 小时前
MySQL集群高可用-MHA
linux·运维·数据库·mysql·集群技术
学不完的20 小时前
ZrLog 高可用反向代理架构
linux·运维·nginx·架构·负载均衡
默|笙20 小时前
【Linux】进程间通信(5)_消息队列与信号量
linux
浅念-20 小时前
Linux 基础命令与核心知识点
linux·数据结构·c++·经验分享·笔记·算法·ubuntu
默|笙21 小时前
【Linux】进程信号(2)_信号保存
linux·运维·服务器
youyoulg21 小时前
opencode在Linux终端中无法复制文字的解决方法
linux·服务器·人工智能
2301_8073671921 小时前
Linux(CentOS)安装 Nginx
linux·nginx·centos
2401_8772742421 小时前
C语言实现多态相关话题
c语言·开发语言
yy_xzz21 小时前
【Linux开发】 05 Linux 多进程并发服务器
linux·服务器·github
minji...21 小时前
Linux 进程间通信(四)System V共享内存
linux·运维·服务器