nvi/nvi-14-private_regex_fixes....

32 lines
1.1 KiB
Diff

#! /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))