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

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

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

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

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

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

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

相关推荐
云深麋鹿几秒前
五.排序笔记
c语言·数据结构·算法·排序算法
海上Bruce6 小时前
C primer plus (第六版)第十二章 编程练习第3题
c语言
小天源6 小时前
linux漏洞一键扫描
linux·运维·服务器·漏洞扫描
SundayBear7 小时前
零基础入门MQTT协议
c语言·单片机
我能坚持多久7 小时前
D16—C语言内功之数据在内存中的存储
c语言·开发语言
码农水水8 小时前
中国邮政Java面试被问:容器镜像的多阶段构建和优化
java·linux·开发语言·数据库·mysql·面试·php
福楠8 小时前
C++ STL | map、multimap
c语言·开发语言·数据结构·c++·算法
极客小云8 小时前
【基于 PyQt6 的红外与可见光图像配准工具开发实战】
c语言·python·yolo·目标检测
wifi chicken8 小时前
Linux Wlan L3~L2封包逻辑详解
linux·网络·ping·封包
Ethernet_Comm9 小时前
从 C 转向 C++ 的过程
c语言·开发语言·c++