Skip to content

Inability to free what GMT_Encode_Options return #18

@PaulWessel

Description

@PaulWessel

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 ?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions