The javadoc for HttpServletRequest states that 'For servlets in the default (root) context, this method returns ""'. However PortletRequestImpl is returning the context path from the portletwindowimpl without checking for '/'. getContextPath should check for "/" as the context path and return "" in that case.
This particular problem causes problems with the c:url tag in JSTL. Referencing a resource with this tag will result in a double slash in the url, which can sometimes cause problems. That is <c:url value="/my/url" /> will result in the value "http://host//my/url" when the web application is in the root context.