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

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

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

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

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

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

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

相关推荐
雨田言炎12 小时前
十、QThread多线程
linux·服务器·开发语言·前端·qt
海兰12 小时前
云原生持续交付平台 Zadig 在 Ubuntu 24.04 上的部署及使用指南
linux·ubuntu·云原生
哎呦,帅小伙哦13 小时前
Linux 系统监控核心:/proc/stat 文件全解析
linux·服务器
爱和冰阔落13 小时前
【Linux】两个毫无关系的进程怎么通信?命名管道 FIFO 从原理到 Server/Client 实战
android·linux·数据库·c++·vim
ltl13 小时前
Windows 内核与 Linux 的关键差异
linux
ltl13 小时前
CentOS 停服与生态重组:Rocky、Alma、openEuler、龙蜥
linux
ltl21 小时前
eBPF 可观测性全景:bcc、bpftrace、libbpf 的工程路径
linux
2401_868534781 天前
数仓开发落地手册
linux·运维
坚持编程的菜鸟1 天前
模拟实现memmove
c语言·算法·模拟实现memmove
正在走向自律1 天前
使用atop工具监控Linux系统指标
linux·运维·php·实时监控·atop分析内存