]> git.ipfire.org Git - thirdparty/krb5.git/commit
Fix LDAP ticket policies on big-endian LP64
authorGreg Hudson <ghudson@mit.edu>
Mon, 13 Apr 2015 17:09:20 +0000 (13:09 -0400)
committerTom Yu <tlyu@mit.edu>
Thu, 16 Apr 2015 20:10:55 +0000 (16:10 -0400)
commit50913c7372c5c13a1270d6823f914e07ce0563ba
tree54e9275644e38cc3d6f003efc2aa838f9f6c182c
parent338cf20b3df6d30a8fe4c4d8c8e3b718edbf35a4
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)

ticket: 8166
version_fixed: 1.13.2
status: resolved
src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c
src/plugins/kdb/ldap/libkdb_ldap/ldap_tkt_policy.c