components/enscript/patches/enscript-CVE-2008-3863+CVE-2008-4306.patch
author Sowrabha H G<sowrabha.hg@oracle.com>
Wed, 15 Jul 2015 08:08:35 -0700
branchs11u2-sru
changeset 4650 7a924b284d8d
parent 2723 138732f62341
permissions -rw-r--r--
20479968 net-snmp-config --create-snmpv3-user in GZ fails when snmpd is running in NGZ
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2723
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     1
--- enscript-1.6.4/src/psgen.c
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     2
+++ enscript-1.6.4/src/psgen.c	2008-10-29 10:43:08.512598143 +0100
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     3
@@ -24,6 +24,7 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     4
  * Boston, MA 02111-1307, USA.
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     5
  */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     6
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     7
+#include <limits.h>
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     8
 #include "gsint.h"
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     9
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    10
 /*
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    11
@@ -124,7 +125,7 @@ struct gs_token_st
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    12
 	  double xscale;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    13
 	  double yscale;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    14
 	  int llx, lly, urx, ury; /* Bounding box. */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    15
-	  char filename[512];
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    16
+	  char filename[PATH_MAX];
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    17
 	  char *skipbuf;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    18
 	  unsigned int skipbuf_len;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    19
 	  unsigned int skipbuf_pos;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    20
@@ -135,11 +136,11 @@ struct gs_token_st
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    21
       Color bgcolor;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    22
       struct
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    23
 	{
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    24
-	  char name[512];
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    25
+	  char name[PATH_MAX];
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    26
 	  FontPoint size;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    27
 	  InputEncoding encoding;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    28
 	} font;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    29
-      char filename[512];
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    30
+      char filename[PATH_MAX];
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    31
     } u;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    32
 };
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    33
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    34
@@ -248,7 +249,7 @@ static int do_print = 1;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    35
 static int user_fontp = 0;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    36
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    37
 /* The user ^@font{}-defined font. */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    38
-static char user_font_name[256];
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    39
+static char user_font_name[PATH_MAX];
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    40
 static FontPoint user_font_pt;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    41
 static InputEncoding user_font_encoding;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    42
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    43
@@ -978,7 +979,8 @@ large for page\n"),
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    44
 			FATAL ((stderr,
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    45
 				_("user font encoding can be only the system's default or `ps'")));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    46
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    47
-		      strcpy (user_font_name, token.u.font.name);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    48
+		      memset  (user_font_name, 0, sizeof(user_font_name));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    49
+		      strncpy (user_font_name, token.u.font.name, sizeof(user_font_name) - 1);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    50
 		      user_font_pt.w = token.u.font.size.w;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    51
 		      user_font_pt.h = token.u.font.size.h;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    52
 		      user_font_encoding = token.u.font.encoding;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    53
@@ -1444,7 +1446,7 @@ read_special_escape (InputStream *is, To
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    54
 	  buf[i] = ch;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    55
 	  if (i + 1 >= sizeof (buf))
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    56
 	    FATAL ((stderr, _("too long argument for %s escape:\n%.*s"),
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    57
-		    escapes[i].name, i, buf));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    58
+		    escapes[e].name, i, buf));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    59
 	}
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    60
       buf[i] = '\0';
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    61
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    62
@@ -1452,7 +1454,8 @@ read_special_escape (InputStream *is, To
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    63
       switch (escapes[e].escape)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    64
 	{
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    65
 	case ESC_FONT:
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    66
-	  strcpy (token->u.font.name, buf);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    67
+	  memset  (token->u.font.name, 0, sizeof(token->u.font.name));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    68
+	  strncpy (token->u.font.name, buf, sizeof(token->u.font.name) - 1);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    69
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    70
 	  /* Check for the default font. */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    71
 	  if (strcmp (token->u.font.name, "default") == 0)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    72
@@ -1465,7 +1468,8 @@ read_special_escape (InputStream *is, To
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    73
 		FATAL ((stderr, _("malformed font spec for ^@font escape: %s"),
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    74
 			token->u.font.name));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    75
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    76
-	      strcpy (token->u.font.name, cp);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    77
+	      memset  (token->u.font.name, 0, sizeof(token->u.font.name));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    78
+	      strncpy (token->u.font.name, cp, sizeof(token->u.font.name) - 1);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    79
 	      xfree (cp);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    80
 	    }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    81
 	  token->type = tFONT;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    82
@@ -1544,7 +1548,8 @@ read_special_escape (InputStream *is, To
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    83
 	  break;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    84
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    85
 	case ESC_SETFILENAME:
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    86
-	  strcpy (token->u.filename, buf);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    87
+	  memset  (token->u.filename, 0, sizeof(token->u.font.name));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    88
+	  strncpy (token->u.filename, buf, sizeof(token->u.filename) - 1);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    89
 	  token->type = tSETFILENAME;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    90
 	  break;