summaryrefslogtreecommitdiff
path: root/set_str_raw.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>1999-07-07 15:49:50 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>1999-07-07 15:49:50 +0000
commitf832298045e4e7d1cadbfc590283872ae79d4806 (patch)
treee7adf4d7f2d75ce6d77ee8665671a61b43ffcdf6 /set_str_raw.c
parentfaf0836c504a0b3a0829bbdee17e9d7ca93df4d0 (diff)
downloadmpfr-f832298045e4e7d1cadbfc590283872ae79d4806.tar.gz
fix UMR (missing 0 terminating string)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@353 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'set_str_raw.c')
-rw-r--r--set_str_raw.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/set_str_raw.c b/set_str_raw.c
index 46414b0a3..5da0c3e89 100644
--- a/set_str_raw.c
+++ b/set_str_raw.c
@@ -29,7 +29,7 @@ mpfr_set_str_raw(x, str)
xp = x -> _mp_d;
xsize = 1 + (PREC(x)-1)/BITS_PER_MP_LIMB;
- str0 = str2 = (char *) malloc(strlen(str)*sizeof(char));
+ str0 = str2 = (char *) malloc((strlen(str)+1)*sizeof(char));
if (*str == '-') { negative = 1; str++; }
else if (*str == '+') str++;
@@ -61,6 +61,7 @@ mpfr_set_str_raw(x, str)
else expn=k;
endstr2 = str2;
+ *str2 = (char) 0; /* end of string */
l = (strlen(str0) - 1) / BITS_PER_MP_LIMB + 1; str2 = str0;
/* str2[0]..endstr2[-1] contains the mantissa */