/* rsa_x931.c */
-/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 2005.
*/
/* ====================================================================
return -1;
}
- j=flen-3;
if (*p++ == 0x6B)
{
+ j=flen-3;
for (i = 0; i < j; i++)
{
unsigned char c = *p++;
return -1;
}
}
- }
- j -= i;
+ j -= i;
+
+ if (i == 0)
+ {
+ RSAerr(RSA_F_RSA_PADDING_CHECK_X931, RSA_R_INVALID_PADDING);
+ return -1;
+ }
- if (i == 0)
- {
- RSAerr(RSA_F_RSA_PADDING_CHECK_X931, RSA_R_INVALID_PADDING);
- return -1;
}
+ else j = flen - 2;
if (p[j] != 0xCC)
{