|
@@ -58,6 +58,9 @@ int ccm_add_nonce(ccm_state *ccm,
|
|
ccm->PAD[x++] = 0;
|
|
ccm->PAD[x++] = 0;
|
|
}
|
|
}
|
|
for (; y < ccm->L; y++) {
|
|
for (; y < ccm->L; y++) {
|
|
|
|
+ if (x >= sizeof(ccm->PAD)) {
|
|
|
|
+ return CRYPT_INVALID_ARG;
|
|
|
|
+ }
|
|
ccm->PAD[x++] = (unsigned char)((len >> 24) & 255);
|
|
ccm->PAD[x++] = (unsigned char)((len >> 24) & 255);
|
|
len <<= 8;
|
|
len <<= 8;
|
|
}
|
|
}
|