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

(ITS#7497) ldif_read_record line number overflow



Full_Name: Howard Chu
Version: RE24/master
OS: 
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (78.155.233.73)
Submitted by: hyc


While trying to load a 150 million entry LDIF file using slapadd, it would
finish with no errors but only ~107 million entries were loaded. This turns out
to be because at 20 lines per record, the LDIF file contained 3 billion lines,
and the line number counter is a signed int. And in slapadd, we have the
"jumpline" option to skip some number of input lines, when resuming an
interrupted load. The jumpline defaults to 0, if the input line number is less
than the jumpline the record is silently skipped.

After reading the 2147483647th line of the file, it discards all of the rest
until hitting EOF.

Will fix this by changing the parameter to unsigned long. This is unfortunately
going to require a libldap version bump.