Skip to content

Commit

Permalink
crypto: ecdh - comply with crypto_kpp_maxsize()
Browse files Browse the repository at this point in the history
crypto_kpp_maxsize() asks for the output buffer size without
caring for errors. It allways assume that will be called after
a valid setkey. Comply with it and return what he wants.

nbytes has no sense now, remove it and directly return the maxsize.

Signed-off-by: Tudor Ambarus <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
  • Loading branch information
ambarus authored and herbertx committed Jun 10, 2017
1 parent 7f69105 commit d0efb48
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions crypto/ecdh.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,13 +104,12 @@ static int ecdh_compute_value(struct kpp_request *req)
return ret;
}

static int ecdh_max_size(struct crypto_kpp *tfm)
static unsigned int ecdh_max_size(struct crypto_kpp *tfm)
{
struct ecdh_ctx *ctx = ecdh_get_ctx(tfm);
int nbytes = ctx->ndigits << ECC_DIGITS_TO_BYTES_SHIFT;

/* Public key is made of two coordinates */
return 2 * nbytes;
/* Public key is made of two coordinates, add one to the left shift */
return ctx->ndigits << (ECC_DIGITS_TO_BYTES_SHIFT + 1);
}

static void no_exit_tfm(struct crypto_kpp *tfm)
Expand Down

0 comments on commit d0efb48

Please sign in to comment.