2011/6/6 Mark Thomas <ma...@apache.org>: > 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) { with 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, http://svn.apache.org/viewvc?rev=1132487&view=rev 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 o.a.naming.resources.ImmutableNameNotFoundException By the way, there are two HexUtils classes in trunk. Do we need both? Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org