Skip to content

Commit 48462aa

Browse files
ulikossjaeckel
authored andcommitted
Fixed size check in ecc_get_key, Fixes #630
1 parent 6120c82 commit 48462aa

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/pk/ecc/ecc_get_key.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,11 @@ int ecc_get_key(unsigned char *out, unsigned long *outlen, int type, const ecc_k
3333
}
3434
else if (type == PK_PRIVATE) {
3535
if (key->type != PK_PRIVATE) return CRYPT_PK_TYPE_MISMATCH;
36+
if (size > *outlen) {
37+
*outlen = size;
38+
return CRYPT_BUFFER_OVERFLOW;
39+
}
3640
*outlen = size;
37-
if (size > *outlen) return CRYPT_BUFFER_OVERFLOW;
3841
if ((ksize = mp_unsigned_bin_size(key->k)) > size) return CRYPT_BUFFER_OVERFLOW;
3942
/* pad and store k */
4043
if ((err = mp_to_unsigned_bin(key->k, out + (size - ksize))) != CRYPT_OK) return err;

0 commit comments

Comments
 (0)