[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] xalloc: delay setting size until success
From: |
Paul Eggert |
Subject: |
[PATCH] xalloc: delay setting size until success |
Date: |
Thu, 1 Apr 2021 01:05:07 -0700 |
* lib/xalloc.h (x2nrealloc): Don’t change *PN until after xrealloc
succeeds, in case xalloc_die or one of its callees or longjmp
targets uses *PN. Similar code in xpalloc already does this.
---
ChangeLog | 7 +++++++
lib/xalloc.h | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 78bf3a5a7..784409dba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2021-03-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ xalloc: delay setting size until success
+ * lib/xalloc.h (x2nrealloc): Don’t change *PN until after xrealloc
+ succeeds, in case xalloc_die or one of its callees or longjmp
+ targets uses *PN. Similar code in xpalloc already does this.
+
2021-03-28 Paul Eggert <eggert@cs.ucla.edu>
xalloc: new function xpalloc, from dfa
diff --git a/lib/xalloc.h b/lib/xalloc.h
index 76d83c63c..5633fdf3c 100644
--- a/lib/xalloc.h
+++ b/lib/xalloc.h
@@ -206,8 +206,9 @@ x2nrealloc (void *p, size_t *pn, size_t s)
n += n / 2 + 1;
}
+ p = xrealloc (p, n * s);
*pn = n;
- return xrealloc (p, n * s);
+ return p;
}
/* Return a pointer to a new buffer of N bytes. This is like xmalloc,
--
2.30.2
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] xalloc: delay setting size until success,
Paul Eggert <=