winnt-avoid-leak-and-memory-corruption-in-afscreds-20030915
authorJeffrey Altman <jaltman@columbia.edu>
Mon, 15 Sep 2003 22:02:25 +0000 (22:02 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 15 Sep 2003 22:02:25 +0000 (22:02 +0000)
FIXES 2120

WINNT/talocale/TaLocale.h conditionally defines REALLOC() to
TaLocaleReallocFunction().

WINNT/client_creds/afscred.h  conditionally defines REALLOC() to
AfsCredsReallocFunction().

Unfortunately, AfsCredsReallocFunction is never used because REALLOC is
always defined first by an include of Talocale.h within afscreds.h.
This is a problem because it results in memory being allocated within a
DLL and then freed by the EXE.  This results in both a memory leak in
the DLL and memory corruption in the EXE.

src/WINNT/client_creds/afscreds.h

index 14e51a8..422c838 100644 (file)
@@ -17,6 +17,7 @@
  */
 
 #include <WINNT/TaLocale.h>
+#undef REALLOC /* RT ticket 2120; So we can redefine it later */
 #include <windows.h>
 #include <commctrl.h>
 #include <regstr.h>