[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r34640 - gnunet/src/scalarproduct
From: |
gnunet |
Subject: |
[GNUnet-SVN] r34640 - gnunet/src/scalarproduct |
Date: |
Tue, 16 Dec 2014 20:07:39 +0100 |
Author: grothoff
Date: 2014-12-16 20:07:39 +0100 (Tue, 16 Dec 2014)
New Revision: 34640
Modified:
gnunet/src/scalarproduct/gnunet-service-scalarproduct_bob.c
Log:
-fix leak on error handling path
Modified: gnunet/src/scalarproduct/gnunet-service-scalarproduct_bob.c
===================================================================
--- gnunet/src/scalarproduct/gnunet-service-scalarproduct_bob.c 2014-12-16
18:59:49 UTC (rev 34639)
+++ gnunet/src/scalarproduct/gnunet-service-scalarproduct_bob.c 2014-12-16
19:07:39 UTC (rev 34640)
@@ -770,7 +770,7 @@
&r[i]))
{
GNUNET_break_op (0);
- return GNUNET_SYSERR;
+ goto error_cleanup;
}
}
@@ -793,7 +793,7 @@
&r_prime[i]))
{
GNUNET_break_op (0);
- return GNUNET_SYSERR;
+ goto error_cleanup;
}
}
gcry_mpi_release (tmp);
@@ -821,7 +821,6 @@
session->r = r;
session->r_prime = r_prime;
- // release rand, b and a
for (i = 0; i < count; i++)
gcry_mpi_release (rand[i]);
GNUNET_free (session->e_a);
@@ -830,6 +829,17 @@
GNUNET_free (q);
GNUNET_free (rand);
return GNUNET_OK;
+
+ error_cleanup:
+ GNUNET_free (r);
+ GNUNET_free (r_prime);
+ gcry_mpi_release (tmp);
+ GNUNET_free (p);
+ GNUNET_free (q);
+ for (i = 0; i < count; i++)
+ gcry_mpi_release (rand[i]);
+ GNUNET_free (rand);
+ return GNUNET_SYSERR;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r34640 - gnunet/src/scalarproduct,
gnunet <=