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

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

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

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

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

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

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

相关推荐
9ilk5 分钟前
【Linux】--- 多路转接select / poll / epoll
linux·运维·网络
赖small强7 分钟前
【Linux驱动开发】Linux 中断机制深度解析:原理、监控与实战
linux·中断·硬件中断
buyutang_10 分钟前
Linux 网络编程:TCP协议Socket开发全流程,理解多线程多进程实现的多连接网络通讯模型
linux·网络·tcp/ip
Felven11 分钟前
C. Isamatdin and His Magic Wand!
c语言·数据结构·算法
吗~喽19 分钟前
【C++】模板进阶
c语言·开发语言·c++
京井32 分钟前
从中序与后序遍历序列构造二叉树解题思路
c语言·算法
Tandy12356_35 分钟前
手写TCP/IP协议栈——ARP超时重新请求
c语言·c++·网络协议·计算机网络
小猫挖掘机(绝版)1 小时前
在Ubuntu 20.04 部署DiffPhysDrone并在Airsim仿真完整流程
linux·ubuntu·自动驾驶·无人机·端到端
初圣魔门首席弟子1 小时前
第六章、[特殊字符] HTTP 深度进阶:报文格式 + 服务器实现(从理论到代码)
linux·网络·c++
zl0_00_01 小时前
isctf2025 部分wp
linux·前端·javascript