summaryrefslogtreecommitdiff
path: root/src/urandomb.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2014-01-17 12:26:35 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2014-01-17 12:26:35 +0000
commitc516d2fba4e8e26ba8945730c1b10ea6618bb1d2 (patch)
tree22c6a15c313e49690ea4d28a9110943ef6ade080 /src/urandomb.c
parent41220ffe4947aa088b09b6d4d5f14a20d430e06a (diff)
downloadmpfr-c516d2fba4e8e26ba8945730c1b10ea6618bb1d2.tar.gz
fixed bug which could appear with probability 1/2^32 or 1/2^64
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@8762 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/urandomb.c')
-rw-r--r--src/urandomb.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/urandomb.c b/src/urandomb.c
index 07ec89f76..8d099ddaa 100644
--- a/src/urandomb.c
+++ b/src/urandomb.c
@@ -98,6 +98,8 @@ mpfr_urandomb (mpfr_ptr rop, gmp_randstate_t rstate)
}
if (cnt != 0)
mpn_lshift (rp + k, rp, nlimbs, cnt);
+ else if (k != 0)
+ mpn_copyi (rp + k, rp, nlimbs);
if (k != 0)
MPN_ZERO (rp, k);
}