summaryrefslogtreecommitdiffstats
path: root/lib/mpi/mpiutil.c
diff options
context:
space:
mode:
authorDmitry Kasatkin <dmitry.kasatkin@intel.com>2012-01-26 18:13:19 +0100
committerJames Morris <jmorris@namei.org>2012-02-01 14:23:39 +0100
commit4877e056192245b387aae004ab38f7f3899dd57c (patch)
treeaf540cd2de9df321421651016fed50e4a56b224c /lib/mpi/mpiutil.c
parentlib/digsig: pkcs_1_v1_5_decode_emsa cleanup (diff)
downloadlinux-4877e056192245b387aae004ab38f7f3899dd57c.tar.xz
linux-4877e056192245b387aae004ab38f7f3899dd57c.zip
lib/mpi: check for possible zero length
Buggy client might pass zero nlimbs which is meaningless. Added check for zero length. Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@intel.com> Reviewed-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'lib/mpi/mpiutil.c')
-rw-r--r--lib/mpi/mpiutil.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/mpi/mpiutil.c b/lib/mpi/mpiutil.c
index 6bfc41f62b8f..26e4ed31e256 100644
--- a/lib/mpi/mpiutil.c
+++ b/lib/mpi/mpiutil.c
@@ -58,6 +58,9 @@ mpi_ptr_t mpi_alloc_limb_space(unsigned nlimbs)
{
size_t len = nlimbs * sizeof(mpi_limb_t);
+ if (!len)
+ return NULL;
+
return kmalloc(len, GFP_KERNEL);
}