Leak in MiniZip

I'm using MiniZip to unzip a file in an iPhone project. Everything works fine but i get a leak in instruments in the MiniZip code on this line :

unzip.c line 493

s=(unz_s*)ALLOC(sizeof(unz_s));
*s=us;
unzGoToFirstFile((unzFile)s);
return (unzFile)s;

I understand that the var allocated with ALLOC is returned and not deallocated. In objective-C i would simply do an autorelease, but how can i achieve that in plain C ?

Thanks, Vincent.

Answers


The caller of that method is responsible for s and must free() it when it is no longer required to avoid the memory leak. This is the convention in C.

You would have to tie in a 3rd-party GC library, perhaps something like Hans Boehm's GC for C/C++. However, my suggestion would be to just free the memory when it is appropriate on your own. You'll run into less hassles that way.


Need Your Help

Non-Trivial Data-Query in Grails

sql hibernate grails groovy gorm

imagine the following problem in grails

How can I make an array a parameter of a function in C++?

c++ encryption hash

I have a function in a program I am writing for my school science fair, and what it needs to do is take in an array as a parameter, encrypt the values of the array, and store the encrypted values i...

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.