tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Konstantin Kolinko <>
Subject Re: svn commit: r1132362 - in /tomcat/trunk/java/org/apache/coyote/http11:
Date Mon, 06 Jun 2011 05:54:55 GMT
2011/6/6 Mark Thomas <>:
> On 05/06/2011 17:47, Rainer Jung wrote:
>>>>> +            for (int i = valueL - 1; i > colonPos; i--) {
>>>>> +                int charValue = HexUtils.getDec(valueB[i + valueS]);
>>>> Any idea, why hex digits (including a-f, A-F) are allowed in port numbers?

Probably that was just to do not invent a separate method.
Another way to fix this would be to replace the next line
                if (charValue == -1) {
                if (charValue == -1 || charValue > 9) {

>>>> I know you only moved that code, but it reminded me of an observation I
>>>> made long ago and forgot.
>>> I can't think of any good reason. Happy to limit that to the digits 0-9.
>> Would you prefer renaming HexUtils to NumberUtils (or similar) and havin
>> getDecFromHex() and getDecFromDec() there, or a new class similar to
>> HexUtils called DecUtils?
> Or we could just use Ascii.parseInt(char[], int, int)
> Just testing a patch now...

Regarding the patch,

Code looks OK but my small concern is that the invalid case is handled
with a NumberFormatException here and it can be triggered by an
external request. I have not tested it here, but general notion is
that exception creation is expensive.

Maybe we can use a cached copy of NumberFormatException, like

By the way, there are two HexUtils classes in trunk. Do we need both?

Best regards,
Konstantin Kolinko

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message