summaryrefslogtreecommitdiff
path: root/regcomp.c
diff options
context:
space:
mode:
authorHugo van der Sanden <hv@crypt.org>2015-01-10 13:22:37 +0000
committerHugo van der Sanden <hv@crypt.org>2015-01-21 13:16:28 +0000
commit96218c53bc718326ed2390947bfa88ffb31c358c (patch)
tree5f40963487d066c6b17ecb3b446b11352095acf4 /regcomp.c
parent7b52d6569c115e4522e1cbe14cfd730e60c84bf1 (diff)
downloadperl-96218c53bc718326ed2390947bfa88ffb31c358c.tar.gz
reg: avoid pointing past end of string on short DEFINE
Diffstat (limited to 'regcomp.c')
-rw-r--r--regcomp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/regcomp.c b/regcomp.c
index a46ece1211..1fbe623767 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -10313,8 +10313,8 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp,U32 depth)
ret = reganode(pRExC_state,NGROUPP,num);
goto insert_if_check_paren;
}
- else if (strnEQ(RExC_parse, "DEFINE",
- MIN(DEFINE_len, RExC_end - RExC_parse)))
+ else if (RExC_end - RExC_parse >= DEFINE_len
+ && strnEQ(RExC_parse, "DEFINE", DEFINE_len))
{
ret = reganode(pRExC_state,DEFINEP,0);
RExC_parse += DEFINE_len;