/util/src/base64.c incorrect calculation of length in 'axutil_base64_decode_len' --------------------------------------------------------------------------------
Key: AXIS2C-731 URL: https://issues.apache.org/jira/browse/AXIS2C-731 Project: Axis2-C Issue Type: Bug Components: util Reporter: Mark Nüßler Royston Day told me in the mailinglist about this issue, some time ago, i've checked this - for me Royston is right. current implementation : AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode_len(const char *bufcoded) { int nbytesdecoded; register const unsigned char *bufin; register int nprbytes; bufin = (const unsigned char *) bufcoded; while (pr2six[*(bufin++)] <= 63); nprbytes = (bufin - (const unsigned char *) bufcoded) - 1; nbytesdecoded = ((nprbytes + 3) / 4) * 3; return nbytesdecoded + 1; } Royston implementation : AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode_len(const char *bufcoded) { int nbytesdecoded; register const unsigned char *bufin; register int nprbytes; bufin = (const unsigned char *) bufcoded; while (pr2six[*(bufin++)] <= 63); nprbytes = (bufin - (const unsigned char *) bufcoded) - 1; nbytesdecoded = ((nprbytes >> 2) * 3); if (nprbytes & 0x03) nbytesdecoded += (nprbytes & 0x03) - 1; return nbytesdecoded; } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]