[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master bd5771f 5/6: regex-emacs: fix leak on memory allocation failure
From: |
Paul Eggert |
Subject: |
master bd5771f 5/6: regex-emacs: fix leak on memory allocation failure |
Date: |
Wed, 26 Aug 2020 03:20:39 -0400 (EDT) |
branch: master
commit bd5771ff27dbbb2b09cc7c14f1ac040234285acc
Author: Paul Eggert <eggert@cs.ucla.edu>
Commit: Paul Eggert <eggert@cs.ucla.edu>
regex-emacs: fix leak on memory allocation failure
* src/regex-emacs.c (ENSURE_FAIL_STACK): If the failure
stack cannot be grown, free locally-allocated storage
before returning.
---
src/regex-emacs.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/regex-emacs.c b/src/regex-emacs.c
index 5d1bb09..3d8aaf4 100644
--- a/src/regex-emacs.c
+++ b/src/regex-emacs.c
@@ -969,7 +969,11 @@ typedef struct
#define ENSURE_FAIL_STACK(space) \
while (REMAINING_AVAIL_SLOTS <= space) { \
if (!GROW_FAIL_STACK (fail_stack)) \
- return -2; \
+ { \
+ unbind_to (count, Qnil); \
+ SAFE_FREE (); \
+ return -2; \
+ } \
DEBUG_PRINT ("\n Doubled stack; size now: %td\n", fail_stack.size); \
DEBUG_PRINT (" slots available: %td\n", REMAINING_AVAIL_SLOTS);\
}
- master updated (b64d04c -> e823709), Paul Eggert, 2020/08/26
- master 438975b 1/6: regex-emacs omit POS runtime check, Paul Eggert, 2020/08/26
- master 768bea3 2/6: regex-emacs omit allocation of 3 slots, Paul Eggert, 2020/08/26
- master 82c089f 3/6: regex-emacs: omit regstart tests and regend set, Paul Eggert, 2020/08/26
- master 4c0a975 4/6: regex-emacs: subscript-check register numbers, Paul Eggert, 2020/08/26
- master bd5771f 5/6: regex-emacs: fix leak on memory allocation failure,
Paul Eggert <=
- master e823709 6/6: regex-emacs: copy less when reallocating, Paul Eggert, 2020/08/26