mirror of https://github.com/wolfSSL/wolfssl.git
Merge pull request #72 from wolfSSL/smallstack
dummy buffer replacement in timing resistant functions.pull/74/head
commit
670c325f29
|
@ -6062,11 +6062,10 @@ static int TimingPadVerify(WOLFSSL* ssl, const byte* input, int padLen, int t,
|
|||
int pLen, int content)
|
||||
{
|
||||
byte verify[MAX_DIGEST_SIZE];
|
||||
byte dummy[MAX_PAD_SIZE];
|
||||
byte dmy[sizeof(WOLFSSL) >= MAX_PAD_SIZE ? 1 : MAX_PAD_SIZE] = {0};
|
||||
byte* dummy = sizeof(dmy) < MAX_PAD_SIZE ? (byte*) ssl : dmy;
|
||||
int ret = 0;
|
||||
|
||||
XMEMSET(dummy, 1, sizeof(dummy));
|
||||
|
||||
if ( (t + padLen + 1) > pLen) {
|
||||
WOLFSSL_MSG("Plain Len not long enough for pad/mac");
|
||||
PadCheck(dummy, (byte)padLen, MAX_PAD_SIZE);
|
||||
|
@ -6300,9 +6299,8 @@ static INLINE int VerifyMac(WOLFSSL* ssl, const byte* input, word32 msgSz,
|
|||
else { /* sslv3, some implementations have bad padding, but don't
|
||||
* allow bad read */
|
||||
int badPadLen = 0;
|
||||
byte dummy[MAX_PAD_SIZE];
|
||||
|
||||
XMEMSET(dummy, 1, sizeof(dummy));
|
||||
byte dmy[sizeof(WOLFSSL) >= MAX_PAD_SIZE ? 1 : MAX_PAD_SIZE] = {0};
|
||||
byte* dummy = sizeof(dmy) < MAX_PAD_SIZE ? (byte*) ssl : dmy;
|
||||
|
||||
if (pad > (msgSz - digestSz - 1)) {
|
||||
WOLFSSL_MSG("Plain Len not long enough for pad/mac");
|
||||
|
|
Loading…
Reference in New Issue