Konstantin,

On 3/19/13 6:09 AM, Konstantin Kolinko wrote:
>>          } else if (data[end - 1] == PADDING) {
>> -            b1 = DECODING_TABLE[data[end - 4]];
>> -            b2 = DECODING_TABLE[data[end - 3]];
>> -            b3 = DECODING_TABLE[data[end - 2]];
>> +            b1 = DECODING_TABLE[data[end - MASK_4BITS]];
>> +            b2 = DECODING_TABLE[data[end - BYTES_PER_UNENCODED_BLOCK]];
>> +            b3 = DECODING_TABLE[data[end - MASK_2BITS]];
> 
> 
> ??? (A question to commons team though).
> 
> I do not know FileUpload code, but from my generic knowledge of base64,
> the above replacement is suspicious.
> 
> I think the above replacement of 2,3,4 with constants is incorrect.
> They are just indexes in the table.

+1

The code will still run properly but if the constants were ever to be
changed (which they shouldn't!), chaos would ensue. It's also misleading
to read the code.

>>          } else {
>> -            b1 = DECODING_TABLE[data[end - 4]];
>> -            b2 = DECODING_TABLE[data[end - 3]];
>> -            b3 = DECODING_TABLE[data[end - 2]];
>> +            b1 = DECODING_TABLE[data[end - MASK_4BITS]];
>> +            b2 = DECODING_TABLE[data[end - BYTES_PER_UNENCODED_BLOCK]];
>> +            b3 = DECODING_TABLE[data[end - MASK_2BITS]];
>>              b4 = DECODING_TABLE[data[end - 1]];

Also here +1

-chris

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to