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

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

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

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

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

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

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

相关推荐
苏宸啊4 小时前
Linux权限
linux·运维·服务器
xqhoj4 小时前
Linux——make、makefile
linux·运维·服务器
方圆工作室5 小时前
【C语言图形学】用*号绘制完美圆的三种算法详解与实现【AI】
c语言·开发语言·算法
张童瑶5 小时前
Linux 在线安装编译Python3.11
linux·运维·python3.11
Shi_haoliu5 小时前
SolidTime 在 Rocky Linux 9.5 上的完整部署流程
linux·运维·nginx·postgresql·vue·php·laravel
Lkygo5 小时前
LlamaIndex使用指南
linux·开发语言·python·llama
qq_254617776 小时前
nslookup 这个命令解析dns,和系统接口gethostbyname解析区别在哪?
linux·网络
HIT_Weston6 小时前
100、【Ubuntu】【Hugo】搭建私人博客:元信息&翻译(一)
linux·运维·ubuntu
自由的好好干活7 小时前
UBI镜像文件打包与编辑
linux·嵌入式硬件
shawnyz7 小时前
RHCSE--ansible1-入门和模块
linux·运维·ansible