summaryrefslogtreecommitdiff
path: root/variable.c
diff options
context:
space:
mode:
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/variable.c b/variable.c
index cb24076dd0..482b084e38 100644
--- a/variable.c
+++ b/variable.c
@@ -1415,13 +1415,9 @@ obj_ivar_heap_realloc(VALUE obj, int32_t len, size_t newsize)
if (ROBJ_TRANSIENT_P(obj)) {
const VALUE *orig_ptr = ROBJECT(obj)->as.heap.ivptr;
- if ((newptr = obj_ivar_heap_alloc(obj, newsize)) != NULL) {
- /* ok */
- }
- else {
- newptr = ALLOC_N(VALUE, newsize);
- ROBJ_TRANSIENT_UNSET(obj);
- }
+ newptr = obj_ivar_heap_alloc(obj, newsize);
+
+ assert(newptr);
ROBJECT(obj)->as.heap.ivptr = newptr;
for (i=0; i<(int)len; i++) {
newptr[i] = orig_ptr[i];