Discussion:
[openssl-dev] Missing const EC_KEY *EC_KEY_dup(EC_KEY *src);
(too old to reply)
Richard Moore
2016-07-24 16:38:17 UTC
Permalink
Shouldn't this be EC_KEY *EC_KEY_dup(const EC_KEY *src);

Cheers

Rich.
Salz, Rich
2016-07-24 17:19:05 UTC
Permalink
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
2016-07-24 20:05:15 UTC
Permalink
In message <***@usma1ex-dag1mb1.msg.corp.akamai.com> on Sun, 24 Jul 2016 17:19:05 +0000, "Salz, Rich" <***@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 ***@openssl.org
OpenSSL Project http://www.openssl.org/~levitte/
--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
Richard Moore
2016-07-26 16:07:04 UTC
Permalink
I meant to ask, should I make tickets for this and the missing DSA_bits()?

Cheers

Rich.
Post by Richard Levitte
In message <
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
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
--
OpenSSL Project http://www.openssl.org/~levitte/
--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
Salz, Rich
2016-07-26 16:08:31 UTC
Permalink
Post by Richard Moore
I meant to ask, should I make tickets for this and the missing DSA_bits()?
Tickets. Or ideally PR with code:)
--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
Loading...