summaryrefslogtreecommitdiff
path: root/mpi/mpicoder.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2002-06-25 11:12:58 +0000
committerWerner Koch <wk@gnupg.org>2002-06-25 11:12:58 +0000
commitf20ecd6bfafa3f2b06a0c33949dec1f2641b4bab (patch)
tree4706129d90f6ec73b1d705152d209c4e0a8a713b /mpi/mpicoder.c
parent6641cccfe5169df8e1d08836219244aebb94cf17 (diff)
downloadlibgcrypt-f20ecd6bfafa3f2b06a0c33949dec1f2641b4bab.tar.gz
* mpiutil.c (gcry_mpi_swap): New.
* mpi-div.c (gcry_mpi_div): New. (gcry_mpi_mod): New. * mpi-inv.c (gcry_mpi_invm): New. * mpicoder.c (do_get_buffer): Make sure that we allocate at least one byte.
Diffstat (limited to 'mpi/mpicoder.c')
-rw-r--r--mpi/mpicoder.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mpi/mpicoder.c b/mpi/mpicoder.c
index f005521d..3051b410 100644
--- a/mpi/mpicoder.c
+++ b/mpi/mpicoder.c
@@ -221,12 +221,14 @@ do_get_buffer( MPI a, unsigned *nbytes, int *sign, int force_secure )
byte *p, *buffer;
mpi_limb_t alimb;
int i;
+ size_t n;
if( sign )
*sign = a->sign;
*nbytes = a->nlimbs * BYTES_PER_MPI_LIMB;
- p = buffer = force_secure || mpi_is_secure(a) ? gcry_xmalloc_secure( *nbytes)
- : gcry_xmalloc( *nbytes );
+ n = *nbytes? *nbytes:1; /* allocate at least one byte */
+ p = buffer = force_secure || mpi_is_secure(a) ? gcry_xmalloc_secure(n)
+ : gcry_xmalloc(n);
for(i=a->nlimbs-1; i >= 0; i-- ) {
alimb = a->d[i];