|
@@ -104,16 +104,18 @@ static int digsig_verify_rsa(struct key *key,
|
|
|
datap = pkh->mpi;
|
|
datap = pkh->mpi;
|
|
|
endp = ukp->data + ukp->datalen;
|
|
endp = ukp->data + ukp->datalen;
|
|
|
|
|
|
|
|
- err = -ENOMEM;
|
|
|
|
|
-
|
|
|
|
|
for (i = 0; i < pkh->nmpi; i++) {
|
|
for (i = 0; i < pkh->nmpi; i++) {
|
|
|
unsigned int remaining = endp - datap;
|
|
unsigned int remaining = endp - datap;
|
|
|
pkey[i] = mpi_read_from_buffer(datap, &remaining);
|
|
pkey[i] = mpi_read_from_buffer(datap, &remaining);
|
|
|
- if (!pkey[i])
|
|
|
|
|
|
|
+ if (IS_ERR(pkey[i])) {
|
|
|
|
|
+ err = PTR_ERR(pkey[i]);
|
|
|
goto err;
|
|
goto err;
|
|
|
|
|
+ }
|
|
|
datap += remaining;
|
|
datap += remaining;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ err = -ENOMEM;
|
|
|
|
|
+
|
|
|
mblen = mpi_get_nbits(pkey[0]);
|
|
mblen = mpi_get_nbits(pkey[0]);
|
|
|
mlen = DIV_ROUND_UP(mblen, 8);
|
|
mlen = DIV_ROUND_UP(mblen, 8);
|
|
|
|
|
|
|
@@ -126,8 +128,10 @@ static int digsig_verify_rsa(struct key *key,
|
|
|
|
|
|
|
|
nret = siglen;
|
|
nret = siglen;
|
|
|
in = mpi_read_from_buffer(sig, &nret);
|
|
in = mpi_read_from_buffer(sig, &nret);
|
|
|
- if (!in)
|
|
|
|
|
|
|
+ if (IS_ERR(in)) {
|
|
|
|
|
+ err = PTR_ERR(in);
|
|
|
goto err;
|
|
goto err;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
res = mpi_alloc(mpi_get_nlimbs(in) * 2);
|
|
res = mpi_alloc(mpi_get_nlimbs(in) * 2);
|
|
|
if (!res)
|
|
if (!res)
|