This is an automated email from the ASF dual-hosted git repository. schultz pushed a commit to branch 7.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/7.0.x by this push: new 9f98e71 Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=64023 9f98e71 is described below commit 9f98e7126a26283c9cc260232fd3fbd59900ef29 Author: Christopher Schultz <ch...@christopherschultz.net> AuthorDate: Fri Dec 20 10:34:12 2019 -0500 Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=64023 Skip null-valued session attributes when de-serializing sessions. --- java/org/apache/catalina/ha/session/DeltaSession.java | 4 +++- java/org/apache/catalina/session/StandardSession.java | 4 +++- webapps/docs/changelog.xml | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/ha/session/DeltaSession.java b/java/org/apache/catalina/ha/session/DeltaSession.java index f7c621e..4662914 100644 --- a/java/org/apache/catalina/ha/session/DeltaSession.java +++ b/java/org/apache/catalina/ha/session/DeltaSession.java @@ -860,7 +860,9 @@ public class DeltaSession extends StandardSession implements Externalizable,Clus if (exclude(name, value)) { continue; } - attributes.put(name, value); + // ConcurrentHashMap does not allow null keys or values + if(null != value) + attributes.put(name, value); } isValid = isValidSave; diff --git a/java/org/apache/catalina/session/StandardSession.java b/java/org/apache/catalina/session/StandardSession.java index fed0385..b1a0693 100644 --- a/java/org/apache/catalina/session/StandardSession.java +++ b/java/org/apache/catalina/session/StandardSession.java @@ -1628,7 +1628,9 @@ public class StandardSession implements HttpSession, Session, Serializable { if (exclude(name, value)) { continue; } - attributes.put(name, value); + // ConcurrentHashMap does not allow null keys or values + if(null != value) + attributes.put(name, value); } isValid = isValidSave; diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 2a36496..e19e125 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -83,6 +83,10 @@ the JRE. This listener will be removed in Tomcat 10 and may be removed from Tomcat 7.0.x some time after 2020-12-31. (markt) </scode> + <fix> + <bug>64023</bug>: Skip null-valued session attributes when deserializing + sessions. (schultz) + </fix> </changelog> </subsection> </section> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org