File: maxlinelength.patch

package info (click to toggle)
trueprint 5.4-7
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 3,384 kB
  • sloc: sh: 12,296; ansic: 8,482; makefile: 115
file content (27 lines) | stat: -rw-r--r-- 786 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Description: avoid buffer overflow
Author: Andreas Beckmann <anbe@debian.org>

--- trueprint-5.4.orig/src/output.c
+++ trueprint-5.4/src/output.c
@@ -124,8 +124,11 @@ void
 add_char(short position,char character,char_status status,char *line,char_status line_status[])
 
 {
-  if (position >= MAXLINELENGTH)
+  if (position >= MAXLINELENGTH-1)
+  {
     fprintf(stderr, gettext(CMD_NAME ": line too long!  Are you sure this is a program listing?\n"));
+    return;
+  }
   line[position] = character;
   line_status[position] = status;
 }
@@ -206,6 +209,8 @@ getnextline(stream_status (*get_input_ch
   /*
    * put a null at the end of the line
    */
+  if (line_position >= MAXLINELENGTH-1)
+	  line_position = MAXLINELENGTH-1;
   input_line[line_position] = 0;
 
   return(retval);