diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2011-12-07 06:58:26 -0500 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2011-12-07 08:09:23 -0500 |
commit | fe0e94c5a7e5335ba0d200e7d3e26e9f80cda4b1 (patch) | |
tree | e11c25e3cecf762931eba576c50a12372039c412 /lib/mpi | |
parent | de353533753e048b5c4658f0a42365937527ac45 (diff) |
mpi/mpi-mpow: NULL dereference on allocation failure
We can't call mpi_free() on the elements if the first kzalloc() fails.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@intel.com>
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'lib/mpi')
-rw-r--r-- | lib/mpi/mpi-mpow.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/mpi/mpi-mpow.c b/lib/mpi/mpi-mpow.c index 4cc75933c5a7..7328d0d6c748 100644 --- a/lib/mpi/mpi-mpow.c +++ b/lib/mpi/mpi-mpow.c | |||
@@ -73,7 +73,7 @@ int mpi_mulpowm(MPI res, MPI *basearray, MPI *exparray, MPI m) | |||
73 | 73 | ||
74 | G = kzalloc((1 << k) * sizeof *G, GFP_KERNEL); | 74 | G = kzalloc((1 << k) * sizeof *G, GFP_KERNEL); |
75 | if (!G) | 75 | if (!G) |
76 | goto nomem; | 76 | goto err_out; |
77 | 77 | ||
78 | /* and calculate */ | 78 | /* and calculate */ |
79 | tmp = mpi_alloc(mpi_get_nlimbs(m) + 1); | 79 | tmp = mpi_alloc(mpi_get_nlimbs(m) + 1); |
@@ -129,5 +129,6 @@ nomem: | |||
129 | for (i = 0; i < (1 << k); i++) | 129 | for (i = 0; i < (1 << k); i++) |
130 | mpi_free(G[i]); | 130 | mpi_free(G[i]); |
131 | kfree(G); | 131 | kfree(G); |
132 | err_out: | ||
132 | return rc; | 133 | return rc; |
133 | } | 134 | } |