[2178] in Kerberos_V5_Development
Re: Comments on Krb5-nt-alpha1 - DLL / Application Problems
daemon@ATHENA.MIT.EDU (Andrew Gray)
Sat Jan 25 17:44:10 1997
Date: Sat, 25 Jan 1997 17:42:39 -0500
From: Andrew Gray <agray@opengroup.org>
To: DEEngert@anl.gov
Cc: krbdev@MIT.EDU, sanfilip@osf.org
Doug -
>The second problem is similier. The fwd_tgt.c routines allocates
>a buffer from the heap of the DLL, for the forwarded ticket, and
>returns it to the caller, which may be the application. (In my
>case it is a modified version of kcmd.c The wintel\auth.c also
>has this problem, and it is fixed with a "#if 0 /* XXX */")
>The application can not free this memory when it is done.
>This two can be solved by having a routine in the DLL to free
>memory obtained by the DLL.
I have been looking through the win32 snapshot for the last several
days, and I'm a bit confused by your statement. Under Win32, dlls do
not have their own heap, rather uses the default process heap.I cannot
locate any point in the kerberos sources that the free function has been
redefined to use anything but the default process heap.
Doesn't your function here just end up invoking free?
!> KRB5_DLLIMP void KRB5_CALLCONV
!> krb5_dll_xfree(val)
!> void FAR * val;
!> {
!> krb5_xfree(val);
!> }
the reason that I have this question, is that I've run into a similiar
problem. Following the krb_mk_rep call, when I try to free the returned
data using krb5_xfree it fails.
Regards,
Andrew Gray
The Open Group Research Institute (we used to be OSF, but they made us
change)