Memory allocation/free with C/Cobol

Hello,

i'm trying to write a C dll that called in a Cobol program returns data in a memory section allocated with C malloc().

The problem is when i'm trying to free that memory in Cobol with a m$free it seems doesn't work.

My question is: m$free work only with memory allocated with m$alloc?

There is a way to free in Cobol a memory section allocated with C malloc()?

There is a way to allocate in C a memory section using the Cobol m$alloc?