summaryrefslogtreecommitdiff
path: root/Build/source/texk/lacheck/lacheck-1.26-PATCHES
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2012-07-09 11:51:25 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2012-07-09 11:51:25 +0000
commit05e50d2756c148a33a3a06a28ae32d677fb05cc1 (patch)
tree47beb931d9aaa6b94a3bc1ce38cb503d09cd53db /Build/source/texk/lacheck/lacheck-1.26-PATCHES
parent6ec8eb926b4f7f8eaf39117db7fdfaecfe1ba721 (diff)
lacheck: Added the never-interactive option to prevent flex
from creating a problematic prototype for isatty() Avoid buffer overrun for long pathnames (detected by Ken Brown) git-svn-id: svn://tug.org/texlive/trunk@26958 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/lacheck/lacheck-1.26-PATCHES')
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26-PATCHES/ChangeLog11
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-05-never-interactive12
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-06-buffer-overrun144
3 files changed, 167 insertions, 0 deletions
diff --git a/Build/source/texk/lacheck/lacheck-1.26-PATCHES/ChangeLog b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/ChangeLog
index 777b7804f10..71bd3392fb1 100644
--- a/Build/source/texk/lacheck/lacheck-1.26-PATCHES/ChangeLog
+++ b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/ChangeLog
@@ -1,3 +1,14 @@
+2012-06-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-06-buffer-overrun (new): Avoid buffer overrun for long
+ pathnames (detected by Ken Brown <kbrow1i@gmail.com>).
+
+2012-06-19 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-05-never-interactive (new): Added the never-interactive
+ option to prevent flex from creating a problematic prototype for
+ isatty().
+
2010-12-10 Peter Breitenlohner <peb@mppmu.mpg.de>
Patches applied to lacheck-1.26 as obtained from CTAN.
diff --git a/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-05-never-interactive b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-05-never-interactive
new file mode 100644
index 00000000000..ab5773dcfeb
--- /dev/null
+++ b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-05-never-interactive
@@ -0,0 +1,12 @@
+diff -ur lacheck-1.26.orig/lacheck.l lacheck-1.26/lacheck.l
+--- lacheck-1.26.orig/lacheck.l 2010-12-09 23:25:22.000000000 +0100
++++ lacheck-1.26/lacheck.l 2012-06-19 15:11:14.000000000 +0200
+@@ -113,6 +113,8 @@
+ * Initial distribution version.
+ */
+
++%option never-interactive
++
+ %{
+
+ #include <stdio.h>
diff --git a/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-06-buffer-overrun b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-06-buffer-overrun
new file mode 100644
index 00000000000..1386c338f33
--- /dev/null
+++ b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-06-buffer-overrun
@@ -0,0 +1,144 @@
+diff -ur lacheck-1.26.orig/lacheck.l lacheck-1.26/lacheck.l
+--- lacheck-1.26.orig/lacheck.l 2012-06-19 15:11:14.000000000 +0200
++++ lacheck-1.26/lacheck.l 2012-06-22 11:04:33.000000000 +0200
+@@ -144,7 +144,6 @@
+ #define CG_ITALIC gstack[gstackp-1].italic
+ #define CG_FILE gstack[gstackp-1].s_file
+
+-char *bg_command(char *name);
+ void pop(void);
+ void push(const char *p_name, int p_type, int p_line);
+ void linecount(void);
+@@ -157,7 +156,6 @@
+
+ /* global variables */
+
+-char returnval[100];
+ int line_count = 1;
+ int warn_count = 0;
+ char *file_name;
+@@ -962,72 +960,58 @@
+ free(gstack[gstackp].s_file);
+ }
+
+-char *bg_command(char *name)
++static void print_bg_command(char *name)
+ {
+
+ switch (CG_TYPE) {
+
+ case 2:
+- (void) strcpy( returnval, "\\begin{" );
+- (void) strcat( returnval, (char *) name);
+- (void) strcat( returnval, "}" );
++ printf("\\begin{%s}", name);
+ break;
+
+ case 3:
+- (void) strcpy( returnval, "beginning of file " );
+- (void) strcat( returnval, (char *) name);
++ printf("beginning of file %s", name);
+ break;
+
+ case 4:
+- (void) strcpy( returnval, "math begin " );
+- (void) strcat( returnval, (char *) name);
++ printf("math begin %s", name);
+ break;
+
+ case 5:
+- (void) strcpy( returnval, "display math begin " );
+- (void) strcat( returnval, (char *) name);
++ printf("display math begin %s", name);
+ break;
+
+ default:
+- (void) strcpy( returnval, name );
++ printf("%s", name);
+
+ }
+-
+- return ((char *)returnval);
+ }
+
+-static char *eg_command(char *name, int type)
++static void print_eg_command(char *name, int type)
+ {
+
+ switch (type) {
+
+ case 2:
+- (void) strcpy( returnval, "\\end{" );
+- (void) strcat( returnval, (char *) name);
+- (void) strcat( returnval, "}" );
++ printf("\\end{%s}", name);
+ break;
+
+ case 3:
+- (void) strcpy( returnval, "end of file " );
+- (void) strcat( returnval, (char *) name);
++ printf("end of file %s", name);
+ break;
+
+ case 4:
+- (void) strcpy( returnval, "math end " );
+- (void) strcat( returnval, (char *) name);
++ printf("math end %s", name);
+ break;
+
+ case 5:
+- (void) strcpy( returnval, "display math end " );
+- (void) strcat( returnval, (char *) name);
++ printf("display math end %s", name);
+ break;
+
+ default:
+- (void) strcpy( returnval, name );
++ printf("%s", name);
+ break;
+ }
+-
+- return ((char *)returnval);
+ }
+
+
+@@ -1072,15 +1056,17 @@
+
+ void print_bad_match(char *end_command, int type)
+ {
+- printf("\"%s\", line %d: <- unmatched \"%s\"\n",
++ printf("\"%s\", line %d: <- unmatched \"",
+ file_name,
+- line_count,
+- eg_command( end_command , type) ) ;
++ line_count);
++ print_eg_command(end_command, type);
++ printf("\"\n");
+
+- printf("\"%s\", line %d: -> unmatched \"%s\"\n",
++ printf("\"%s\", line %d: -> unmatched \"",
+ CG_FILE,
+- CG_LINE,
+- bg_command( CG_NAME ) ) ;
++ CG_LINE);
++ print_bg_command(CG_NAME);
++ printf("\"\n");
+ warn_count += 2;
+ }
+
+@@ -1088,10 +1074,11 @@
+ {
+ if ( gstackp == 0 )
+ {
+- printf("\"%s\", line %d: \"%s\" found at top level\n",
+- file_name,
+- line_count,
+- eg_command( end_command, type )) ;
++ printf("\"%s\", line %d: \"",
++ file_name,
++ line_count);
++ print_eg_command(end_command, type);
++ printf("\" found at top level\n");
+ ++warn_count;
+ return(0);
+ }