[krbdev.mit.edu #8166] git commit

Greg Hudson via RT rt-comment at krbdev.mit.edu
Tue Apr 14 20:51:22 EDT 2015


Fix LDAP ticket policies on big-endian LP64

krb5_ldap_get_value() takes a pointer to int, and should not be passed
a pointer to any integral type which might have a different width.
Use an intermediate variable for each call.

The erroneous calls in ldap_misc.c were passing pointers to int32_t,
which is harmless on all common platforms.  The calls in
ldap_tkt_policy.c were passing pointers to long; on big-endian LP64
platforms, the result would be written to the high 32 bits of the long
value.

https://github.com/krb5/krb5/commit/7fbc092107298bded216fbce4cff6592275bff03
Author: Greg Hudson <ghudson at mit.edu>
Commit: 7fbc092107298bded216fbce4cff6592275bff03
Branch: master
 src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c       |   19 +++++++++----------
 src/plugins/kdb/ldap/libkdb_ldap/ldap_tkt_policy.c |   16 ++++++++++------
 2 files changed, 19 insertions(+), 16 deletions(-)



More information about the krb5-bugs mailing list