aboutsummaryrefslogtreecommitdiff
path: root/editors/nvi/patches/nvi-14-private_regex_fixes.patch
blob: 8ed783dec51bce11b5fe3443af333058b4710927 (plain)
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
28
29
30
31
#! /bin/sh /usr/share/dpatch/dpatch-run
## 14private_regex_fixes.dpatch by  <hesso@pool.math.tu-berlin.de>
##
## DP: Fixes to the private regex library; includes fix for #523934.

@DPATCH@
diff -Naur regex.orig/regcomp.c regex/regcomp.c
--- nvi-1.81.6.orig/regex/regcomp.c	2007-11-18 17:41:42.000000000 +0100
+++ nvi-1.81.6/regex/regcomp.c	2008-05-01 18:37:57.000000000 +0200
@@ -606,7 +606,8 @@
 		REQUIRE(starordinary, REG_BADRPT);
 		/* FALLTHROUGH */
 	default:
-		ordinary(p, c &~ BACKSL);
+	  /* ordinary(p, c &~ BACKSL); -- Fix potential overflow */
+	        ordinary(p, c & 0xff);
 		break;
 	}
 
diff -Naur regex.orig/regexec.c regex/regexec.c
--- nvi-1.81.6.orig/regex/regexec.c	2007-11-18 17:41:42.000000000 +0100
+++ nvi-1.81.6/regex/regexec.c	2008-05-01 18:38:00.000000000 +0200
@@ -63,7 +63,7 @@
 
 /* macros for manipulating states, small version */
 #define	states	int
-#define	states1	states		/* for later use in regexec() decision */
+typedef states states1;		/* for later use in regexec() decision */
 #define	CLEAR(v)	((v) = 0)
 #define	SET0(v, n)	((v) &= ~(1 << (n)))
 #define	SET1(v, n)	((v) |= 1 << (n))