malloc, heapalloc, etc
bon at elektron.ikp.physik.tu-darmstadt.de
Mon Jul 8 17:43:00 CDT 2002
>>>>> "John" == John Lightsey <john at nixnuts.net> writes:
John> Hi all, I've been playing around with the wininet dll to get a
John> windows app I developed running, and I've written a patch that
John> fixes the problems with wininet that I've noticed, but it's an
John> ugly fix and I'd like to get a little clarification about how heap
John> memory is being used in Wine.
John> In dlls/wininet/internet.c InternetOpenUrlA() malloc() is used to
John> put together the HTTP host header in hostreq. The pointer is then
John> passed to HttpAddRequestHeadersA() which creates a buffer with
John> HeapAlloc, copies the contents pointed to by hostreq to it then
John> frees the buffer with HeapFree. Control then passes back to
John> InternetOpenUrlA which does not call free() on the hostreq
John> So, my question is which is the encouraged way of doing things?
John> HeapAlloc and HeapFree or malloc and free? Also, is the fact that
John> free() was not called on hostreq a bug, or am I missing something?
John> Please be gentle....I'm a Perl programmer, not a C programmer.
If you require memory where there is even a slight chance you expose it to
the application program, use HeapAlloc and friends.
Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
More information about the wine-devel