summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorgkm <gkm@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-24 20:04:10 +0000
committergkm <gkm@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-24 20:04:10 +0000
commitf7fe59feaa27eecd97449b595ce3a7dfa7ba039e (patch)
tree5c8fd698f16c17800afb5191249554caaaadbba9 /gcc
parent0a40c6ad89a00534819da8398148ea431e3211ae (diff)
downloadgcc-f7fe59feaa27eecd97449b595ce3a7dfa7ba039e.tar.gz
* cppfiles.c (actual_directory): Don't write beyond `dir'
when it contains "". * real.c (asctoeg): Stay within bounds of etens[][]. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35944 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cppfiles.c4
-rw-r--r--gcc/real.c10
3 files changed, 13 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e9025fd8d8b..2d10fb5d1ea 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2000-08-24 Greg McGary <greg@mcgary.org>
+
+ * cppfiles.c (actual_directory): Don't write beyond `dir'
+ when it contains "".
+ * real.c (asctoeg): Stay within bounds of etens[][].
+
2000-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* dependence.c (dependence_string, direction_string,
diff --git a/gcc/cppfiles.c b/gcc/cppfiles.c
index 2a8f01c3835..2078989a62c 100644
--- a/gcc/cppfiles.c
+++ b/gcc/cppfiles.c
@@ -1041,8 +1041,8 @@ actual_directory (pfile, fname)
}
else
{
- dir[0] = '.';
- dir[1] = '\0';
+ free (dir);
+ dir = xstrdup (".");
dlen = 1;
}
diff --git a/gcc/real.c b/gcc/real.c
index eb8736c72cd..6c09f753ce9 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -5132,9 +5132,9 @@ asctoeg (ss, y, oprec)
{
unsigned EMUSHORT yy[NI], xt[NI], tt[NI];
int esign, decflg, sgnflg, nexp, exp, prec, lost;
- int k, trail, c, rndsav;
+ int i, k, trail, c, rndsav;
EMULONG lexp;
- unsigned EMUSHORT nsign, *p;
+ unsigned EMUSHORT nsign;
char *sp, *s, *lstr;
int base = 10;
@@ -5418,14 +5418,14 @@ read_expnt:
nexp -= 4096;
}
}
- p = &etens[NTEN][0];
emov (eone, xt);
exp = 1;
+ i = NTEN;
do
{
if (exp & nexp)
- emul (p, xt, xt);
- p -= NE;
+ emul (etens[i], xt, xt);
+ i--;
exp = exp + exp;
}
while (exp <= MAXP);