X-Git-Url: https://ocean-lang.org/code/?p=ocean;a=blobdiff_plain;f=csrc%2Foceani.mdc;h=2804224da5759f95e08ef7cb4f0ce17618607551;hp=bc8880e72ccaf11343c1782ff6d7670db537f114;hb=b5a63d46c787e442d44b5fd1d70d007498bd5058;hpb=13482f902f9fa5d303a3a738a18fe17fdb734930 diff --git a/csrc/oceani.mdc b/csrc/oceani.mdc index bc8880e..2804224 100644 --- a/csrc/oceani.mdc +++ b/csrc/oceani.mdc @@ -1437,8 +1437,10 @@ in `rval`. { struct lrval ret = _interp_exec(e); - if (typeret) + if (ret.lval) *typeret = ret.type; + else + free_value(ret.type, &ret.rval); return ret.lval; } @@ -3362,6 +3364,7 @@ it is declared, and error will be raised as the name is created as rtype = Tnone; } else { free_value(v->type, v->val); + free(v->val); v->val = val_alloc(v->type, NULL); } break;