[openssl-dev] Missing const EC_KEY *EC_KEY_dup(EC_KEY *src);

16 views
Skip to first unread message

Richard Moore

unread,
Jul 24, 2016, 12:38:45 PM7/24/16
to
Shouldn't this be  EC_KEY *EC_KEY_dup(const EC_KEY *src);

Cheers

Rich.


Salz, Rich

unread,
Jul 24, 2016, 1:19:36 PM7/24/16
to

> Shouldn't this be  EC_KEY *EC_KEY_dup(const EC_KEY *src);

I think the reason it is not is because the EC_KEY has an ENGINE* and that can't be const.

Sigh, C needs 'mutable' :)
--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Richard Levitte

unread,
Jul 24, 2016, 4:06:00 PM7/24/16
to
In message <a62628880fea43fa...@usma1ex-dag1mb1.msg.corp.akamai.com> on Sun, 24 Jul 2016 17:19:05 +0000, "Salz, Rich" <rs...@akamai.com> said:

rsalz>
rsalz> > Shouldn't this be  EC_KEY *EC_KEY_dup(const EC_KEY *src);
rsalz>
rsalz> I think the reason it is not is because the EC_KEY has an ENGINE* and that can't be const.

The pointer to ENGINE will be const, yes, but not the ENGINE content
itself, as if it was defined like this:

ENGINE * const engine;

What happens is that the ENGINE pointer is copied to the new
structure, and the ENGINE itself will work perfectly, both in the
source EC_KEY and the new one.

So there's no actual reason not to have const there. It does,
however, mean that we need to add const in a few more places. Now
many at all, actually, it took me 5 minutes. PR coming tomorrow.

Cheers,
Richard

--
Richard Levitte lev...@openssl.org
OpenSSL Project http://www.openssl.org/~levitte/

Richard Moore

unread,
Jul 26, 2016, 12:08:14 PM7/26/16
to
I meant to ask, should I make tickets for this and the missing DSA_bits()?

Cheers

Rich.

Salz, Rich

unread,
Jul 26, 2016, 12:08:55 PM7/26/16
to

> I meant to ask, should I make tickets for this and the missing DSA_bits()?

Tickets. Or ideally PR with code:)

Richard Moore via RT

unread,
Jul 30, 2016, 10:26:44 AM7/30/16
to
---------- Forwarded message ----------
From: Richard Moore <richm...@gmail.com>
Date: 24 July 2016 at 17:38
Subject: Missing const EC_KEY *EC_KEY_dup(EC_KEY *src);
To: opens...@openssl.org


Shouldn't this be EC_KEY *EC_KEY_dup(const EC_KEY *src);

Cheers

Rich.

--
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4638
Please log in as guest with password guest if prompted

Matt Caswell via RT

unread,
Aug 1, 2016, 12:38:47 PM8/1/16
to
Fix for this was merged as 4a9a0d9bcb. Closing.

Matt
Reply all
Reply to author
Forward
0 new messages