hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCLIENT-1296) Null pointer exception when using default host and virtual host with port -1
Date Thu, 10 Jan 2013 09:42:13 GMT

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13549479#comment-13549479
] 

Oleg Kalnichevski commented on HTTPCLIENT-1296:
-----------------------------------------------

Karl,
I think the fix should be much simpler. I also believe that the virtual host rewriting should
take place outside of the execution, as it may produce an incorrect result in case of a cross-site
redirect. 

Please have a look.  

Oleg

--- a/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java
+++ b/httpclient/src/main/java/org/apache/http/impl/client/DefaultRequestDirector.java
@@ -417,7 +417,8 @@ public class DefaultRequestDirector implements RequestDirector {
 
         // HTTPCLIENT-1092 - add the port if necessary
         if (virtualHost != null && virtualHost.getPort() == -1) {
-            int port = target.getPort();
+            HttpHost host = target != null ? target : origRoute.getTargetHost();
+            int port = host.getPort();
             if (port != -1){
                 virtualHost = new HttpHost(virtualHost.getHostName(), port, virtualHost.getSchemeName());

                
> Null pointer exception when using default host and virtual host with port -1
> ----------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1296
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1296
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>    Affects Versions: 4.2.2
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>            Priority: Critical
>         Attachments: HTTPCLIENT-1296.patch
>
>
> The following code in DefaultRequestDirector is incorrect:
> {code}
>         // HTTPCLIENT-1092 - add the port if necessary
>         if (virtualHost != null && virtualHost.getPort() == -1) {
>             int port = target.getPort();
>             if (port != -1){
>                 virtualHost = new HttpHost(virtualHost.getHostName(), port, virtualHost.getSchemeName());
>             }
>         }
> {code}
> The reason it is incorrect is that if the target has not been specified in the URL, then
an NPE will result.  The target is resolved later in the same method in that case.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message