[PATCH 5/7] bcrypt: Pad exported datums in key_export_ecc().
Paul Gofman
pgofman at codeweavers.com
Fri Jan 15 05:44:43 CST 2021
Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
dlls/bcrypt/gnutls.c | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/dlls/bcrypt/gnutls.c b/dlls/bcrypt/gnutls.c
index f5e4651a03a..85fd998f061 100644
--- a/dlls/bcrypt/gnutls.c
+++ b/dlls/bcrypt/gnutls.c
@@ -1002,7 +1002,7 @@ static NTSTATUS CDECL key_export_ecc( struct key *key, UCHAR *buf, ULONG len, UL
gnutls_ecc_curve_t curve;
gnutls_datum_t x, y, d;
DWORD magic, size;
- UCHAR *src, *dst;
+ UCHAR *dst;
int ret;
switch (key->alg_id)
@@ -1042,19 +1042,13 @@ static NTSTATUS CDECL key_export_ecc( struct key *key, UCHAR *buf, ULONG len, UL
ecc_blob->cbKey = size;
dst = (UCHAR *)(ecc_blob + 1);
- if (x.size == size + 1) src = x.data + 1;
- else src = x.data;
- memcpy( dst, src, size );
-
+ export_gnutls_datum( dst, size, &x, NULL );
dst += size;
- if (y.size == size + 1) src = y.data + 1;
- else src = y.data;
- memcpy( dst, src, size );
+ export_gnutls_datum( dst, size, &y, NULL );
dst += size;
- if (d.size == size + 1) src = d.data + 1;
- else src = d.data;
- memcpy( dst, src, size );
+
+ export_gnutls_datum( dst, size, &d, NULL );
}
free( x.data ); free( y.data ); free( d.data );
--
2.29.2
More information about the wine-devel
mailing list