lib/digsig: digsig_verify_rsa(): return -EINVAL if modulo length is zero
authorNicolai Stange <nicstange@gmail.com>
Thu, 26 May 2016 21:19:52 +0000 (23:19 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 31 May 2016 08:42:00 +0000 (16:42 +0800)
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 <nicstange@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
lib/digsig.c

index a121cbc..55b8b2f 100644 (file)
@@ -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)