Hi, On Mon, 10 Jan 2022 at 08:00, Alex G. <mr.nuke...@gmail.com> wrote: > > > > On 1/9/22 8:39 AM, Heinrich Schuchardt wrote: > > The return type of EVP_PKEY_get0_RSA() is const struct rsa_st *. > > Our code drops the const qualifier leading to > > > > In file included from tools/lib/rsa/rsa-sign.c:1: > > ./tools/../lib/rsa/rsa-sign.c: In function ‘rsa_add_verify_data’: > > ./tools/../lib/rsa/rsa-sign.c:631:13: warning: > > assignment discards ‘const’ qualifier from pointer target type > > [-Wdiscarded-qualifiers] > > 631 | rsa = EVP_PKEY_get0_RSA(pkey); > > | ^ > > > > Add a type conversion. > > > > Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> > > --- > > lib/rsa/rsa-sign.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/lib/rsa/rsa-sign.c b/lib/rsa/rsa-sign.c > > index 44f21416ce..3b6e5f0f86 100644 > > --- a/lib/rsa/rsa-sign.c > > +++ b/lib/rsa/rsa-sign.c > > @@ -628,7 +628,7 @@ int rsa_add_verify_data(struct image_sign_info *info, > > void *keydest) > > if (ret) > > goto err_get_pub_key; > > > > - rsa = EVP_PKEY_get0_RSA(pkey); > > + rsa = (RSA *)EVP_PKEY_get0_RSA(pkey); > > I think it's the wrong path to discard const qualifiers, whether > unwillingly or by type punning. I suggest making 'rsa' a "const RSA *" > and fixing the downstream users to do the same.
It looks like just a case of changing some function signatures in that file. Heinrich, what do you think? Regards, SImon > > Alex > > > ret = rsa_get_params(rsa, &exponent, &n0_inv, &modulus, &r_squared); > > if (ret) > > goto err_get_params; > >