Description
HtmlResponseStateManager.getSavedState() does not seem to handle the request attribute "javax.faces.ViewState" being an empty string. That is to say, when the request attribute does not exist, a new state is created, but otherwise an attempt is made to reconstruct the view state. In the case that the attribute is an empty string, you'll get an exception similar to the following:
javax.faces.FacesException: java.io.EOFException
at org.apache.myfaces.shared_impl.util.StateUtils.getAsObject(StateUtils.java:350)
at org.apache.myfaces.shared_impl.util.StateUtils.reconstruct(StateUtils.java:246)
at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getSavedState(HtmlResponseStateManager.java:188)
at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getTreeStructureToRestore(HtmlResponseStateManager.java:149)
This does not occur on the Sun RI implementation (i.e., it returns a new state in this case), and I think due to this being an issue that should be handled (and a trivial change to boot) that it should be fixed.