svn commit: r298727 - stable/9/lib/libc/regex
Pedro F. Giffuni
pfg at FreeBSD.org
Thu Apr 28 01:12:40 UTC 2016
Author: pfg
Date: Thu Apr 28 01:12:38 2016
New Revision: 298727
URL: https://svnweb.freebsd.org/changeset/base/298727
Log:
MFC r298521;
regex: prevent two improbable signed integer overflows.
In matcher() we used an integer to index nsub of type size_t.
In print() we used an integer to index nstates of type sopno,
typedef'd long.
In both cases the indexes never take negative values.
Match the types to avoid any error.
Modified:
stable/9/lib/libc/regex/engine.c
Directory Properties:
stable/9/lib/libc/ (props changed)
Modified: stable/9/lib/libc/regex/engine.c
==============================================================================
--- stable/9/lib/libc/regex/engine.c Thu Apr 28 01:11:25 2016 (r298726)
+++ stable/9/lib/libc/regex/engine.c Thu Apr 28 01:12:38 2016 (r298727)
@@ -154,7 +154,7 @@ matcher(struct re_guts *g,
int eflags)
{
const char *endp;
- int i;
+ size_t i;
struct match mv;
struct match *m = &mv;
const char *dp;
@@ -1108,7 +1108,7 @@ print(struct match *m,
FILE *d)
{
struct re_guts *g = m->g;
- int i;
+ sopno i;
int first = 1;
if (!(m->eflags®_TRACE))
More information about the svn-src-stable-9
mailing list