[krbdev.mit.edu #8166] git commit

Tom Yu via RT rt-comment at krbdev.mit.edu
Thu Apr 16 19:05:06 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)

https://github.com/krb5/krb5/commit/50913c7372c5c13a1270d6823f914e07ce0563ba
Author: Greg Hudson <ghudson at mit.edu>
Committer: Tom Yu <tlyu at mit.edu>
Commit: 50913c7372c5c13a1270d6823f914e07ce0563ba
Branch: krb5-1.13
 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