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

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

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

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

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

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

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

相关推荐
Full Stack Developme44 分钟前
JVM 与 Linux 交互的核心原理
linux·运维·jvm
PixelBai1 小时前
JSON差异比较对比指南
json
珺毅同学1 小时前
YOLO生成预测json标签迁移问题
python·yolo·json
HackTwoHub1 小时前
最新Nessus2026.6.8版本主机漏洞扫描/探测工具Windows/Linux
linux·运维·服务器·安全·web安全·网络安全·安全架构
qq_163135751 小时前
Linux 【04-mkdir命令超详细教程】
linux
qq_163135751 小时前
Linux 【08-mv命令超详细教程】
linux
qq_163135754 小时前
Linux 【07-rm命令超详细教程】
linux
zh路西法5 小时前
【SSH 免密登录全流程】Windows Linux 通用方案
linux·windows·ssh
ScilogyHunter5 小时前
GCC完全指南
linux·gcc
CodeStats5 小时前
从 CPU 指令到 JVM 进程:彻底讲透 Java 执行 main 方法时,类加载、主线程、栈帧入栈的完整底层逻辑
java·linux·开发语言