Currently, if digsig_verify_rsa() detects that the modulo's length is zero,
i.e. mlen == 0, it returns -ENOMEM which doesn't really fit here.

Make digsig_verify_rsa() return -EINVAL upon mlen == 0.

Signed-off-by: Nicolai Stange <nicsta...@gmail.com>
---
 lib/digsig.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/digsig.c b/lib/digsig.c
index a121cbc..55b8b2f 100644
--- a/lib/digsig.c
+++ b/lib/digsig.c
@@ -114,13 +114,15 @@ static int digsig_verify_rsa(struct key *key,
                datap += remaining;
        }
 
-       err = -ENOMEM;
-
        mblen = mpi_get_nbits(pkey[0]);
        mlen = DIV_ROUND_UP(mblen, 8);
 
-       if (mlen == 0)
+       if (mlen == 0) {
+               err = -EINVAL;
                goto err;
+       }
+
+       err = -ENOMEM;
 
        out1 = kzalloc(mlen, GFP_KERNEL);
        if (!out1)
-- 
2.8.2

--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to