Skip to content

Commit b2c7cab

Browse files
authored
[fix] Don't let getSession cause an infinite loop if it throws IllegalStateException (#216)
1 parent 5854db8 commit b2c7cab

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/main/ruby/jruby/rack/session_store.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,12 @@ def get_servlet_session(env, create = false)
9191
unless servlet_request = env['java.servlet_request']
9292
raise "JavaServletStore expects a servlet request at env['java.servlet_request']"
9393
end
94-
servlet_session = servlet_request.getSession(create)
94+
servlet_session =
95+
begin
96+
servlet_request.getSession(create)
97+
rescue java.lang.IllegalStateException => e
98+
raise "Failed to obtain session due to IllegalStateException: #{e.message}"
99+
end
95100
env[ENV_SERVLET_SESSION_KEY] = servlet_session
96101
end
97102
rescue java.lang.IllegalStateException # cached session invalidated

0 commit comments

Comments
 (0)