已开启
ProcessEncode内存管理优化 #55
AtomGit-Bot创建于  2022年5月17日
AtomGit-Bot
2022年5月17日 创建

【需求价值】:
避免程序接口调用出现内存泄露

【需求描述】:
当前框架中的ProcessEncode函数会对传入的DataInfo结构体调用malloc申请内存,由于ProcessEncode在框架中被封装在各类函数接口之下,如Prepare、GetOption、SyncProcess,内存的申请和释放没有在同一位置,并且现在没有任何标记,这样框架中存在内存泄露风险。

实际上现在框架中client端的kws_sdk_impl.cpp, ic_sdk_impl.cpp调用了ProcessEncode却没有释放DataInfo,已经造成了内存泄露;server端在封装中和FreeDataInfo有成对匹配,但是匹配的位置是在sa_server.c中,而ProcessEncode调用位置在ic_plugin.cpp/kws_plugin.cpp,这对算法插件开发人员反而造成了误导。

likedislike
AAtomGit-Bot
2022年5月17日 创建了缺陷
shuaytaoshuaytao
2022年5月20日 修改了描述
shuaytaoshuaytao
2022年5月20日 将任务类型从 缺陷 修改为需求