diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/util/crypto_ecc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/util/crypto_ecc.c b/src/util/crypto_ecc.c index 1abf0fddc..8d9091b23 100644 --- a/src/util/crypto_ecc.c +++ b/src/util/crypto_ecc.c | |||
@@ -1281,6 +1281,16 @@ eddsa_d_to_a (gcry_mpi_t d) | |||
1281 | gcry_mpi_print (GCRYMPI_FMT_USG, | 1281 | gcry_mpi_print (GCRYMPI_FMT_USG, |
1282 | rawmpi, rawmpilen, &rawmpilen, | 1282 | rawmpi, rawmpilen, &rawmpilen, |
1283 | d)); | 1283 | d)); |
1284 | if (rawmpilen < 32) | ||
1285 | { | ||
1286 | memmove (rawmpi + 32 - rawmpilen, | ||
1287 | rawmpi, | ||
1288 | rawmpilen); | ||
1289 | memset (rawmpi, | ||
1290 | 0, | ||
1291 | 32 - rawmpilen); | ||
1292 | rawmpilen = 32; | ||
1293 | } | ||
1284 | hvec[0].data = digest; | 1294 | hvec[0].data = digest; |
1285 | hvec[0].off = 0; | 1295 | hvec[0].off = 0; |
1286 | hvec[0].len = b > rawmpilen ? (b - rawmpilen) : 0; | 1296 | hvec[0].len = b > rawmpilen ? (b - rawmpilen) : 0; |