summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-08-12 13:31:23 +0000
committerKarl Berry <karl@freefriends.org>2009-08-12 13:31:23 +0000
commit32fc32f88556b0b313b8bc069e93b42bc7bd653d (patch)
tree7db63a3e0a83d4ec616ad22cda839066e5c3310c /Build
parent5907ad3dd66cbf3168c378d3d1df5aab3c82a01c (diff)
check for pool overflow in xsubstring; Vincent Danen mail to tex-live, 4 Aug 2009 14:42:29, test case in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=520920
git-svn-id: svn://tug.org/texlive/trunk@14628 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/ChangeLog7
-rw-r--r--Build/source/texk/web2c/bibtex.ch9
2 files changed, 16 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog
index fe37d6de6cf..417d001b191 100644
--- a/Build/source/texk/web2c/ChangeLog
+++ b/Build/source/texk/web2c/ChangeLog
@@ -1,3 +1,10 @@
+2009-08-12 Karl Berry <karl@tug.org>
+
+ * bibtex.ch (xsubstring): forgot to check for pool_overflow.
+ See test case and bug report at
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=520920.
+ Vincent Danen mail to tex-live, 4 Aug 2009 14:42:29.
+
2009-07-14 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am (check_PROGRAMS): pltotf and tftopl are required
diff --git a/Build/source/texk/web2c/bibtex.ch b/Build/source/texk/web2c/bibtex.ch
index 972667faf81..8e2dab66809 100644
--- a/Build/source/texk/web2c/bibtex.ch
+++ b/Build/source/texk/web2c/bibtex.ch
@@ -1134,6 +1134,15 @@ while ((ex_buf_xptr < ex_buf_ptr) and
@y
@z
+% Forgot to check for pool overflow here. Triggered by test case linked
+% from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=520920.
+@x
+while (sp_ptr < sp_end) do {shift the substring}
+@y
+str_room(sp_end - sp_ptr);
+while (sp_ptr < sp_end) do {shift the substring}
+@z
+
% [459] Eliminate unreferenced statement label, because `undefined' is
% now a constant expression that is not evaluated at the Web level. If
% this label were ever required, it could be replaced by the constant