summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gc.c b/gc.c
index 21c719f7ba..3322352224 100644
--- a/gc.c
+++ b/gc.c
@@ -689,12 +689,9 @@ obj_free(obj)
if ((long)RANY(obj)->as.data.dfree == -1) {
free(DATA_PTR(obj));
}
- if (RANY(obj)->as.data.dfree) {
+ else if (RANY(obj)->as.data.dfree) {
(*RANY(obj)->as.data.dfree)(DATA_PTR(obj));
}
- else {
- free(DATA_PTR(obj));
- }
}
break;
case T_MATCH: