Fix for PR22061 by K-ballo
llvm-svn: 227384
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 538fec0e59c72a5a8c8f9a6a53fb1ac3334c6ee8
diff --git a/include/regex b/include/regex
index 39e106c..fb0f7d8 100644
--- a/include/regex
+++ b/include/regex
@@ -5601,12 +5601,17 @@
__node* __st = __start_.get();
if (__st)
{
+ sub_match<const _CharT*> __unmatched;
+ __unmatched.first = __last;
+ __unmatched.second = __last;
+ __unmatched.matched = false;
+
__states.push_back(__state());
__states.back().__do_ = 0;
__states.back().__first_ = __first;
__states.back().__current_ = __first;
__states.back().__last_ = __last;
- __states.back().__sub_matches_.resize(mark_count());
+ __states.back().__sub_matches_.resize(mark_count(), __unmatched);
__states.back().__loop_data_.resize(__loop_count());
__states.back().__node_ = __st;
__states.back().__flags_ = __flags;
@@ -5746,12 +5751,17 @@
__node* __st = __start_.get();
if (__st)
{
+ sub_match<const _CharT*> __unmatched;
+ __unmatched.first = __last;
+ __unmatched.second = __last;
+ __unmatched.matched = false;
+
__states.push_back(__state());
__states.back().__do_ = 0;
__states.back().__first_ = __first;
__states.back().__current_ = __first;
__states.back().__last_ = __last;
- __states.back().__sub_matches_.resize(mark_count());
+ __states.back().__sub_matches_.resize(mark_count(), __unmatched);
__states.back().__loop_data_.resize(__loop_count());
__states.back().__node_ = __st;
__states.back().__flags_ = __flags;