summaryrefslogtreecommitdiff
path: root/sub.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-09-14 12:35:16 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-09-14 12:35:16 +0000
commit0ce04efe5f268634b0b0258d41a86978470fbcd4 (patch)
tree2b14541d0db2dce6e4bb24dc6e5ddfdadb587e5c /sub.c
parent7fd7bfde63ad481bbddb8c6eec978a8473c9a439 (diff)
downloadmpfr-0ce04efe5f268634b0b0258d41a86978470fbcd4.tar.gz
fixed SEGV (mpn_lshift doesn't seem to like src_size=0)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@743 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'sub.c')
-rw-r--r--sub.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sub.c b/sub.c
index 1e8542ba7..14b16c55b 100644
--- a/sub.c
+++ b/sub.c
@@ -272,7 +272,10 @@ mpfr_sub1(a, b, c, rnd_mode, diff_exp)
mpn_lshift(ap, cp+(cn-an), an, overlap);
ap[0] += cp[cn-an-1]>>(BITS_PER_MP_LIMB-overlap);
}
- else mpn_lshift(ap+(an-cn), cp, cn, overlap);
+ else {
+ /* warning: mpn_lshift doesn't seem to like cn=0 */
+ if (cn) mpn_lshift(ap+(an-cn), cp, cn, overlap);
+ }
}
else MPN_COPY(ap+(an-cn), cp, cn);
}