GenericMappingTools / GenericMappingTools/gmtmex
Inability to free what GMT_Encode_Options return
- Dominant language
- MATLAB
- Stars
- 53
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
**Description of the problem**
Since I am building GMT with DEBUG and MEM_DEBUG I get messages upon module exit if there were memory leaks. WHen I quit MATLAB after testing gmtmex I may get many of these, probably one for each module call:
Matlab [WARNING]: Memory not freed first allocated in gmt_api.c:12781(GMT_Encode_Options) (ID = 141): 0.141 kb [144 bytes]
The problem is that gmtmex.c does not bother to free the info structure array returned by GMT_Encode_Options. OK, so two issues:
1. That array is allocated with GMT_memory and thus is tracked by GMT's garbage man
2. The API has no way of calling GMT_free since all it has is GMT_Destroy_Data which would not work on some random array.
I think the solution is:
1. Let GMT_Encode_Options allocate directly with malloc/realloc and not GMT_memory
2. Let gmtmex.c clean up after itself.
OK with you @joa-quim ?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.