summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2010-02-20 09:11:20 -0500
committerChong Yidong <cyd@stupidchicken.com>2010-02-20 09:11:20 -0500
commitf9b84f9f4baeb658b57a0a92c3dee9df5b4ab028 (patch)
treecf100ea8e107570e05a891c6c159d53a8b33cacd
parent3e39928c770cb6a4726cb9b81e10b04b9e685748 (diff)
downloademacs-f9b84f9f4baeb658b57a0a92c3dee9df5b4ab028.tar.gz
* etags.c (Scheme_functions): Don't loop past a null character (Bug#5601).
-rw-r--r--lib-src/ChangeLog5
-rw-r--r--lib-src/etags.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 5a1b3ff7d5a..fd7097c0956 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-20 Kevin Ryde <user42@zip.com.au>
+
+ * etags.c (Scheme_functions): Don't loop past a null character
+ (Bug#5601).
+
2010-01-29 Kester Habermann <kester@linuxtag.org> (tiny change)
* etags.c (Fortran_functions): Handle recursive keyword
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 2715df8b5cc..17aad9a2252 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -5004,8 +5004,9 @@ Scheme_functions (inf)
if (strneq (bp, "(def", 4) || strneq (bp, "(DEF", 4))
{
bp = skip_non_spaces (bp+4);
- /* Skip over open parens and white space */
- while (notinname (*bp))
+ /* Skip over open parens and white space. Don't continue past
+ '\0'. */
+ while (*bp && notinname (*bp))
bp++;
get_tag (bp, NULL);
}