I took a quick look at LDAPAuthentication.java.  From the log
messages, it seems that execution reached the log.info() call at line
368.  This flows down to the 'return' at line 370 BUT we are still in
a try{} with a finally{}, so it appears that this method will call
context.restoreAuthSystemState() twice before actually returning.
restoreAuthSystemState() catches the EmptyStackException and logs it.

The nested try{} blocks are a bit muddled.  The method needs thorough
study and probably some re-organization.

There is quite a bit of code in Context#restoreAuthSystemState which
is only executed when debugging is enabled, around line 303 ff.  I'm
not sure what it is for.  This code *also* pops a stack without
checking for underflow, and in this case any resulting exception is
not caught, which may yield interesting results.

That's not a thorough analysis, but it is a start.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu

-- 
All messages to this mailing list should adhere to the DuraSpace Code of 
Conduct: https://duraspace.org/about/policies/code-of-conduct/
--- 
You received this message because you are subscribed to the Google Groups 
"DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dspace-tech/20200220144945.GC1294%40IUPUI.Edu.

Attachment: signature.asc
Description: PGP signature

Reply via email to