Details

Description

In the PortalStatistics, a TreeMap with state for each logged in username is maintained keyed on the IP address of the current (login/logout) request.
However, request.getRemoteAttr() sometimes might return null (bad request) in which case adding a null key to the TreeMap might cause a NullPointerException in its internal compare method.
This is not a critical error as failing to record or remove one entry is not causing real side-effects, and no exception will thrown out from the login/login statistics method, but it can show up in logging.

I'll provide an easy and non-intrusive fix preventing the NPE in the first place.