tools: Fix memory leak for functions "I" and "G".
authorWerner Koch <wk@gnupg.org>
Thu, 6 Aug 2015 12:57:44 +0000 (14:57 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 6 Aug 2015 12:57:44 +0000 (14:57 +0200)
* src/mpicalc.c (do_inv, do_gcd): Init A after stack check.
--

Reported-by: Ismo Puustinen <ismo.puustinen@intel.com>
Signed-off-by: Werner Koch <wk@gnupg.org>
src/mpicalc.c

index f1fbbef..ebd1bbb 100644 (file)
@@ -200,12 +200,14 @@ do_powm (void)
 static void
 do_inv (void)
 {
-  gcry_mpi_t a = mpi_new (0);
+  gcry_mpi_t a;
+
   if (stackidx < 2)
     {
       fputs ("stack underflow\n", stderr);
       return;
     }
+  a = mpi_new (0);
   mpi_invm (a, stack[stackidx - 2], stack[stackidx - 1]);
   mpi_set (stack[stackidx - 2], a);
   mpi_release (a);
@@ -215,12 +217,14 @@ do_inv (void)
 static void
 do_gcd (void)
 {
-  gcry_mpi_t a = mpi_new (0);
+  gcry_mpi_t a;
+
   if (stackidx < 2)
     {
       fputs ("stack underflow\n", stderr);
       return;
     }
+  a = mpi_new (0);
   mpi_gcd (a, stack[stackidx - 2], stack[stackidx - 1]);
   mpi_set (stack[stackidx - 2], a);
   mpi_release (a);