summaryrefslogtreecommitdiff
path: root/regcomp.c
diff options
context:
space:
mode:
authorHugo van der Sanden <hv@crypt.org>2015-02-15 11:44:00 +0000
committerHugo van der Sanden <hv@crypt.org>2015-02-15 23:21:47 +0000
commit4a0c7558cb3dad795591b57e712bedba39bc1c84 (patch)
tree9a3ecbb634b4d5a97417b757c079725bf3be15ef /regcomp.c
parenta84da042c65ea56f60cfa9b65a1b4aebb4ac7fb3 (diff)
downloadperl-4a0c7558cb3dad795591b57e712bedba39bc1c84.tar.gz
[perl #123843] fix SEGV reading data->flags
This could be triggered by trying to compile eg 'qr{x+(y(?0))*}'.
Diffstat (limited to 'regcomp.c')
-rw-r--r--regcomp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/regcomp.c b/regcomp.c
index 767f4975ba..51c778d044 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -4386,7 +4386,7 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
( flags & SCF_IN_DEFINE )
||
(
- (is_inf_internal || is_inf || data->flags & SF_IS_INF)
+ (is_inf_internal || is_inf || (data && data->flags & SF_IS_INF))
&&
( (flags & (SCF_DO_STCLASS | SCF_DO_SUBSTR)) == 0 )
)