Skip Menu |

Subject: Fix leash crash in some build environments
leash/KrbListTickets.cpp incorrectly used free() instead of krb5_free_string() for the
krb5_cc_get_full_name() output.

This is fixed in master by ebeb1e359fa10ea710d467ca3756ababd1276fa6 but needs pullup
Subject: git commit

Fix leash crash found in some build environments

When freeing a credentials cache name obtained from
krb5_cc_get_full_name(), the code was using plain free()
instead of the matching krb5_free_string(). If these routines
are picked from different modules at runtime, the mismatch
will cause a crash in free(), so change to using the matched
deallocation function.

In order to use it in leash, it must be declared in Lglobals.h and
the function pointer symbol defined in Leash.cpp.

(cherry picked from commit ebeb1e359fa10ea710d467ca3756ababd1276fa6)
Author: Ben Kaduk <>
Committer: Tom Yu <>
Commit: a8d215662ab906a1edd5287b4b8afa941f540d36
Branch: krb5-1.13
src/windows/leash/KrbListTickets.cpp | 2 +-
src/windows/leash/Leash.cpp | 2 ++
src/windows/leash/Lglobals.h | 1 +
3 files changed, 4 insertions(+), 1 deletions(-)