On Fri, 25 Sep 2020 02:38:40 GMT, Valerie Peng <valer...@openjdk.org> wrote:

>> Weijun Wang has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Enhance DerValue::getOctetString to be able to read multi-level 
>> constructed value.
>
> src/java.base/share/classes/sun/security/util/DerValue.java line 638:
> 
>> 636:         }
>> 637:         if (end == start) {
>> 638:             throw new IOException("No padding");
> 
> Well, I find the original error message is clearer: Invalid encoding: zero 
> length bit string. Just the "No padding" may
> be somewhat unclear since no padding is needed when it's multiple of 8. Or, 
> maybe something like
> "DerValue.getBitString, empty value".

It also seems strange that it only checks that length !=0. The spec of 
BitString seems to suggest the length must
be >=2 where the first byte is the number of padding bits. It seems that the 
right check should be (end - start) > 1?

-------------

PR: https://git.openjdk.java.net/jdk/pull/232

Reply via email to