diff options
author | Werner Koch <wk@gnupg.org> | 2013-09-07 10:06:46 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2013-09-25 18:15:45 +0200 |
commit | 1c6660debdbf1e4c3e80074c846a3e3097f214bb (patch) | |
tree | 6078d1078de21e53061b09138d8df64798b325cb /mpi/mpiutil.c | |
parent | 9b7c49971588edf6acfc74bfb797eb79d19cb350 (diff) | |
download | libgcrypt-1c6660debdbf1e4c3e80074c846a3e3097f214bb.tar.gz |
mpi: Change not yet used _gcry_mpi_set_opaque_copy.
* mpi/mpiutil.c (_gcry_mpi_set_opaque_copy): Change prototype.
(_gcry_mpi_get_opaque_copy): Take care of gcry_malloc failure.
Diffstat (limited to 'mpi/mpiutil.c')
-rw-r--r-- | mpi/mpiutil.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/mpi/mpiutil.c b/mpi/mpiutil.c index 3855dc47..c9e6b317 100644 --- a/mpi/mpiutil.c +++ b/mpi/mpiutil.c @@ -283,13 +283,15 @@ gcry_mpi_set_opaque( gcry_mpi_t a, void *p, unsigned int nbits ) gcry_mpi_t -_gcry_mpi_set_opaque_copy (gcry_mpi_t a, void *p, unsigned int nbits) +_gcry_mpi_set_opaque_copy (gcry_mpi_t a, const void *p, unsigned int nbits) { void *d; unsigned int n; n = (nbits+7)/8; d = gcry_is_secure (p)? gcry_malloc_secure (n) : gcry_malloc (n); + if (!d) + return NULL; memcpy (d, p, n); return gcry_mpi_set_opaque (a, d, nbits); } @@ -318,7 +320,8 @@ _gcry_mpi_get_opaque_copy (gcry_mpi_t a, unsigned int *nbits) return NULL; n = (*nbits+7)/8; d = gcry_is_secure (s)? gcry_malloc_secure (n) : gcry_malloc (n); - memcpy (d, s, n); + if (d) + memcpy (d, s, n); return d; } |