[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master bdfd83e: Fix an off-by-one error in TEX parsing in etags
From: |
Lars Ingebrigtsen |
Subject: |
master bdfd83e: Fix an off-by-one error in TEX parsing in etags |
Date: |
Sun, 12 Dec 2021 05:26:33 -0500 (EST) |
branch: master
commit bdfd83e42d0044db7e99cec452427c0b76d46f20
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Fix an off-by-one error in TEX parsing in etags
* lib-src/etags.c (TEX_decode_env): Fix off-by-one parsing of
TEXTAGS environment variable (bug#52438). Based on a patch by
David Fussner <dfussner@googlemail.com> and amended by Andreas
Schwab <schwab@linux-m68k.org>.
---
lib-src/etags.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib-src/etags.c b/lib-src/etags.c
index bd4d4fc..af142b0 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -5773,7 +5773,7 @@ static void
TEX_decode_env (const char *evarname, const char *defenv)
{
const char *env, *p;
- ptrdiff_t len;
+ ptrdiff_t len = 1;
/* Append default string to environment. */
env = getenv (evarname);
@@ -5782,8 +5782,13 @@ TEX_decode_env (const char *evarname, const char *defenv)
else
env = concat (env, defenv, "");
+ /* If the environment variable starts with a colon, increase the
+ length of the token table. */
+ if (*env == ':')
+ len++;
+
/* Allocate a token table */
- for (len = 1, p = env; (p = strchr (p, ':')); )
+ for (p = env; (p = strchr (p, ':')); )
if (*++p)
len++;
TEX_toktab = xnew (len, linebuffer);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master bdfd83e: Fix an off-by-one error in TEX parsing in etags,
Lars Ingebrigtsen <=