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

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

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

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

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

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

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

相关推荐
与己斗其乐无穷21 分钟前
刷题记录(3)C语言中的字符
c语言·学习
风路丞2 小时前
centos-stream-9上安装nvidia驱动和cuda-toolkit
linux·运维·centos
Amelio_Ming3 小时前
linux 内核 static-key机制分析
linux
yl--炼气4 小时前
windows下wsl-ubuntu子系统的位置怎样从C盘转到其他盘
linux·运维·ubuntu
西贝爱学习4 小时前
数据结构:C语言版严蔚敏和解析介绍,附pdf
c语言·开发语言·数据结构
博睿谷IT99_4 小时前
红帽认证 Linux安全 级别
linux·运维·安全
Cv打怪升级5 小时前
ubuntu 常用指令
linux·运维·ubuntu
用手码出世界5 小时前
【Linux】进程池bug、命名管道、systemV共享内存
linux·运维·bug
正点原子6 小时前
【正点原子STM32MP257连载】第二章 ATK-DLMP257B使用前准备 #串口软件 #MobaXterm
linux·stm32·单片机·嵌入式硬件
life_time_6 小时前
C语言-习题整理(1)
c语言·开发语言