Fix off-by-one error in ecdsa_write_signature()

Made some signature fail with 521-bit curve
This commit is contained in:
Manuel Pégourié-Gonnard 2013-09-02 16:25:37 +02:00
parent e09d2f8261
commit c75c56fef7

View File

@ -220,8 +220,8 @@ int ecdsa_write_signature( ecdsa_context *ctx,
void *p_rng ) void *p_rng )
{ {
int ret; int ret;
unsigned char buf[MAX_SIG_LEN]; unsigned char buf[MAX_SIG_LEN + 3];
unsigned char *p = buf + MAX_SIG_LEN - 1; unsigned char *p = buf + MAX_SIG_LEN;
size_t len = 0; size_t len = 0;
if( ( ret = ecdsa_sign( &ctx->grp, &ctx->r, &ctx->s, &ctx->d, if( ( ret = ecdsa_sign( &ctx->grp, &ctx->r, &ctx->s, &ctx->d,