diff options
author | Jakub Jelinek <jakub@redhat.com> | 2001-05-02 22:50:01 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2001-05-02 22:50:01 +0200 |
commit | 2d2a86ae7990763ce93c342c8557cfec515f7003 (patch) | |
tree | 66595ad86dd1a7d6ab653b86a3f4901345e718a5 /gcc/tradcpp.c | |
parent | 258bfae2f7ab7b1c369fe3343a1132f16396072b (diff) | |
download | gcc-2d2a86ae7990763ce93c342c8557cfec515f7003.zip gcc-2d2a86ae7990763ce93c342c8557cfec515f7003.tar.gz gcc-2d2a86ae7990763ce93c342c8557cfec515f7003.tar.bz2 |
tradcpp.c (do_define): Make sure we don't walk past limit.
* tradcpp.c (do_define): Make sure we don't walk past limit.
* gcc.dg/cpp/tr-define.c: New test.
From-SVN: r41773
Diffstat (limited to 'gcc/tradcpp.c')
-rw-r--r-- | gcc/tradcpp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tradcpp.c b/gcc/tradcpp.c index d567473..bfb1202 100644 --- a/gcc/tradcpp.c +++ b/gcc/tradcpp.c @@ -2670,8 +2670,8 @@ do_define (buf, limit, op) } } - ++bp; /* skip paren */ - while (is_nvspace (*bp)) /* and leading whitespace */ + ++bp; /* skip paren */ + while (is_nvspace (*bp) && bp < limit) /* and leading whitespace */ ++bp; /* now everything from bp before limit is the definition. */ defn = collect_expansion (bp, limit, argno, arg_ptrs); @@ -2698,7 +2698,7 @@ do_define (buf, limit, op) } } else { /* simple expansion or empty definition; skip leading whitespace */ - while (is_nvspace (*bp)) + while (is_nvspace (*bp) && bp < limit) ++bp; /* now everything from bp before limit is the definition. */ defn = collect_expansion (bp, limit, -1, 0); |