[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#6617) back-sql: 64-bit parent IDs get munged



Full_Name: Andrew Gray
Version: 2.4.23
OS: Debian 5 64-bit
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (131.216.14.1)


64-bit values for (at least) parent IDs do not get resolved correctly - only the
lower 32 bits are preserved.  This leads up to a crash as it tries to resolve a
non-existant ID:

To reproduce:
ldap_entries has a row with an ID of 1000000000 with a parent of 9999999999 (and
a row 9999999999 for the parent).  When back-sql goes to resolve this, the
following shows in the ODBC trace:

SELECT COUNT(*) FROM ldap_entry_objclasses,ldap_entries,ldap_static_entries
WHERE ldap_static_entries.id=1410065407 AND
ldap_entries.id=ldap_entry_objclasses.entry_id AND
ldap_entries.keyval=ldap_static_entries.id and ldap_entries.oc_map_id=4

(1410065407 = 32-bit rollover of 9999999999).