Ok, I've spent the last couple of hours getting comfortable with the code and I've done some debugging.
I've found an infinite loop!
A diff between the last stable version and the RC shows me that the only code added in ldap.class.php is a call to the checkPass() function from getUserData().
The checkPass() function calls the getUserData() function, then the getUserData() function calls checkPass(), which then calls getUserData() again, and so on.
I've put some debugging echos in to the code and discovered the code takes the following path (I hope it makes sense - I've simply echo'd the relevant comments in the code, and echo'd when entering and leaving either the checkPass() or getUserData() functions):
Entering function:checkPass()
// Try to bind to with the dn if we have one.
// See if we can find the user
Entered function:getUserData()
Calling function 'checkPass()' from function 'getUserData()'
Entering function:checkPass()
// Try to bind to with the dn if we have one.
// See if we can find the user
Entered function:getUserData()
Calling function 'checkPass()' from function 'getUserData()'
Entering function:checkPass()
// Try to bind to with the dn if we have one.
// See if we can find the user
Entered function:getUserData()
Calling function 'checkPass()' from function 'getUserData()'
Entering function:checkPass()
// Try to bind to with the dn if we have one.
// See if we can find the user
Entered function:getUserData()
...
...
The output loops over and over.
I've attached my code with the echo statements to make it clearer.
I don't know the code well enough to suggest a fix. Sorry!