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

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

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

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

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

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

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

相关推荐
影视飓风TIM12 分钟前
Linux 进程信号原理与剖析
linux·运维·服务器
缘友一世30 分钟前
开源 Linux截图工具闪构(SnapForge)
linux·运维·ubuntu·开源·截图
朱包林1 小时前
iTerm2终端配置指南
linux·javascript·python·云原生·容器·kubernetes·云计算
祖力552 小时前
Linux系统移植、烧录与环境的搭建
linux·运维·服务器
张小姐的猫3 小时前
【Linux】网络编程 —— 多路转接:epoll
linux·运维·网络
宋明河3 小时前
五种 IO 模型与 select、poll、epoll 对比
linux
玄芯散人3 小时前
【金丹·81】性能分析:你的程序慢在哪
linux·性能优化·perf
天意__3 小时前
Linux部署Qwen轻量模型
linux·服务器·qwen
Aurorar0rua4 小时前
CS50 x 2024 Notes Data structures - 08
c语言·开发语言·学习方法
木卫二号Coding4 小时前
第八十六篇-Strata 部署指南(Ubuntu 22.04 + Tesla V100【单卡】)
linux·运维·人工智能·ubuntu