[krbdev.mit.edu #8193] git commit

Tom Yu via RT rt-comment at krbdev.mit.edu
Fri May 15 16:12:36 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.

(cherry picked from commit 7fbc092107298bded216fbce4cff6592275bff03)
(back ported from commit 50913c7372c5c13a1270d6823f914e07ce0563ba)

https://github.com/krb5/krb5/commit/3d56ca44fc331bc6dfd0ee114b7f185d0ac55a2a
Author: Greg Hudson <ghudson at mit.edu>
Committer: Tom Yu <tlyu at mit.edu>
Commit: 3d56ca44fc331bc6dfd0ee114b7f185d0ac55a2a
Branch: krb5-1.12
 src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c       |   16 +++++++++-------
 src/plugins/kdb/ldap/libkdb_ldap/ldap_tkt_policy.c |   16 ++++++++++------
 2 files changed, 19 insertions(+), 13 deletions(-)



More information about the krb5-bugs mailing list