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

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

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

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

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

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

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

相关推荐
神也佑我橙橙几秒前
conda 创建虚拟环境的一些坑
linux·运维·conda
二进制coder2 分钟前
深入浅出:I²C多路复用器PCA9546详解 - 解决地址冲突,扩展你的I²C总线
c语言·开发语言·单片机
IT技术分享社区6 分钟前
IT运维干货:lnav开源日志分析工具详解与CentOS实战部署
linux·运维·服务器·开源·centos
IT曙光12 分钟前
CentOS x86_64架构下载aarch64(arm64)包
linux·运维·centos
bkspiderx17 分钟前
Linux网络与路由配置完全指南
linux·运维·网络·c++
退役小学生呀1 小时前
二十三、K8s企业级架构设计及落地
linux·云原生·容器·kubernetes·k8s
凤山老林1 小时前
SpringBoot 如何实现零拷贝:深度解析零拷贝技术
java·linux·开发语言·arm开发·spring boot·后端
云计算练习生1 小时前
linux shell编程实战 04 条件判断与流程控制
linux·运维·流程控制·shell编程·条件判断
至善迎风2 小时前
如何让 Ubuntu 服务器在你关机后继续执行命令
linux·服务器·ubuntu·进程
彷徨而立2 小时前
【C/C++】只知道窗口句柄,如何擦除窗口内容,清理窗口?
c语言·c++·windows