aboutsummaryrefslogtreecommitdiffstats
path: root/regexec.c
diff options
context:
space:
mode:
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/regexec.c b/regexec.c
index b0f73e41d5..ba0e7c2cd2 100644
--- a/regexec.c
+++ b/regexec.c
@@ -888,12 +888,16 @@ onig_region_free(OnigRegion* r, int free_self)
if (r->allocated > 0) {
xfree(r->beg);
xfree(r->end);
- r->allocated = 0;
}
#ifdef USE_CAPTURE_HISTORY
history_root_free(r);
#endif
- if (free_self) xfree(r);
+ if (free_self) {
+ xfree(r);
+ }
+ else {
+ memset(r, 0, sizeof(OnigRegion));
+ }
}
}