diff --git a/src/value.c b/src/value.c index e260073..84323e5 100644 --- a/src/value.c +++ b/src/value.c @@ -9,9 +9,9 @@ void libab_value_init(libab_value* value, void* data, libab_ref* type) { void libab_value_free(libab_value* value) { void (*free_function)(void*); libab_parsetype* value_type; - libab_ref_free(&value->type); value_type = libab_ref_get(&value->type); free_function = value_type->data_u.base->free_function; + libab_ref_free(&value->type); if (free_function) free_function(value->data); }