From c04424458fedf7944ed7fdabd1c5234ecba34529 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Sat, 12 Feb 2022 15:03:19 +0000 Subject: Only assign a->prototype when a is both empty and has type AtypeArray --- memory.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'memory.c') diff --git a/memory.c b/memory.c index c94993c..533e159 100644 --- a/memory.c +++ b/memory.c @@ -65,13 +65,13 @@ freearray(Array *a) SetRefs(a, GetRefs(a)-1); if(GetRefs(a) == 0){ if(GetType(a) == AtypeArray){ - if(GetSize(a) > 0){ - for(int i = 0; i < GetSize(a); i++) - freearray(a->arraydata[i]); - free(a->rawdata); - }else - freearray(a->prototype); + for(int i = 0; i < GetSize(a); i++) + freearray(a->arraydata[i]); } + if(GetType(a) == AtypeArray && GetSize(a) == 0) + freearray(a->prototype); + else + free(a->rawdata); free(a->shape); free(a); arrayalloccounts--; -- cgit v1.2.3