Skip to content

Commit 9a565a8

Browse files
fingeralaanwj
authored andcommitted
Pass export privkey DER compression flag correctly
By passing a bitfield where a boolean was expected, the result was always compressed. Fix this.
1 parent 1c12cf6 commit 9a565a8

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/key.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ static int ec_privkey_import_der(const secp256k1_context* ctx, unsigned char *ou
8989
* will be set to the number of bytes used in the buffer.
9090
* key32 must point to a 32-byte raw private key.
9191
*/
92-
static int ec_privkey_export_der(const secp256k1_context *ctx, unsigned char *privkey, size_t *privkeylen, const unsigned char *key32, int compressed) {
92+
static int ec_privkey_export_der(const secp256k1_context *ctx, unsigned char *privkey, size_t *privkeylen, const unsigned char *key32, bool compressed) {
9393
assert(*privkeylen >= CKey::PRIVATE_KEY_SIZE);
9494
secp256k1_pubkey pubkey;
9595
size_t pubkeylen = 0;
@@ -170,7 +170,7 @@ CPrivKey CKey::GetPrivKey() const {
170170
size_t privkeylen;
171171
privkey.resize(PRIVATE_KEY_SIZE);
172172
privkeylen = PRIVATE_KEY_SIZE;
173-
ret = ec_privkey_export_der(secp256k1_context_sign, privkey.data(), &privkeylen, begin(), fCompressed ? SECP256K1_EC_COMPRESSED : SECP256K1_EC_UNCOMPRESSED);
173+
ret = ec_privkey_export_der(secp256k1_context_sign, privkey.data(), &privkeylen, begin(), fCompressed);
174174
assert(ret);
175175
privkey.resize(privkeylen);
176176
return privkey;

0 commit comments

Comments
 (0)