]> ocean-lang.org Git - ocean/blobdiff - csrc/oceani.mdc
oceani: fix a couple of issues
[ocean] / csrc / oceani.mdc
index bc8880e72ccaf11343c1782ff6d7670db537f114..2804224da5759f95e08ef7cb4f0ce17618607551 100644 (file)
@@ -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;