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] [Resolved] (HTTPCORE-313) ContentType.create(final String mimeType, final String charset) uncaught exception when charset == ""
Date Thu, 20 Sep 2012 19:31:08 GMT

     [ https://issues.apache.org/jira/browse/HTTPCORE-313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Oleg Kalnichevski resolved HTTPCORE-313.

       Resolution: Fixed
    Fix Version/s: 4.3-alpha1

I think the real problem is that EntityUtils#toString method does not rethrow IllegalCharsetNameException
as a checked I/O exception. I fixed the problem in the trunk and the 4.2.x branch. I also
made ContentType#create ignore empty charsets in the 4.2.x and ignore blank (empty or containing
white spaces only) charsets in the trunk.

Please review / test.

> ContentType.create(final String mimeType, final String charset) uncaught exception when
charset == ""
> -----------------------------------------------------------------------------------------------------
>                 Key: HTTPCORE-313
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-313
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore
>    Affects Versions: 4.2.1
>         Environment: Ubuntu 12.04 LTS with openjdk-7
>            Reporter: Guillaume Castagnino
>             Fix For: 4.2.3, 4.3-alpha1
> I parse a broken HTTP response from a server that replies with a crafted Content-Type
> Content-Type: text/html; charset=
> charset is present, but is empty. When using the EntityUtils.toString method, this triggers
an uncaught exception in ContentType.create.
> Indeed, it calls this:
> return create(mimeType, charset != null ? Charset.forName(charset) : null);
> charset is checked against the null value. But the empty string is not checked.
> Charset.forName("") throws a "java.nio.charset.IllegalCharsetNameException" exception
which is not caught whereas Charset.forName("broken") throws a "java.nio.charset.UnsupportedCharsetException"
exception, which is correctly handled.
> So I think that the empty string should be checked and managed like the null, isn't it

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

View raw message