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

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

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

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

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

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

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

相关推荐
charlie1145141915 分钟前
嵌入式Linux驱动开发——Pinctrl 子系统架构深度解析
linux·驱动开发·系统架构
风曦Kisaki6 分钟前
# Linux运维Day04:集群与 LVS 负载均衡(LVS-NAT 集群,LVS-DR 集群)
linux·运维·lvs
Shadow(⊙o⊙)14 分钟前
Linux基础IO-1.0——open、close、read及write-深入手搓分析!
linux·运维·服务器·开发语言·c++·学习
zincsweet19 分钟前
一文掌握 Linux 文件操作:C 语言接口 + 系统调用 + 缓冲区原理
linux·c语言
子榆.21 分钟前
CANN自定义GEMM算子(Ascend C手写高性能矩阵乘法)
c语言·开发语言·矩阵
代码中介商26 分钟前
Git 版本控制完全指南:从分支管理到远程协作
linux·git
s_w.h26 分钟前
【 linux 】进程的调度算法
linux·运维·服务器
c++逐梦人26 分钟前
多路转接epoll
linux·网络·epoll
r-t-H27 分钟前
KVM虚拟化与Docker基础实践-第三章
linux·运维·nginx·docker·容器
仰泳之鹅28 分钟前
【C语言】动态内存管理
c语言·数据结构·算法