diff options
| author | Mel <einebeere@gmail.com> | 2022-07-26 19:52:31 +0000 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2022-07-26 19:52:31 +0000 |
| commit | 7392283d9e6b8c1ee31a3ad74ce8d13d4e8b19ec (patch) | |
| tree | 434350324985297cd16dd1df68a417223a334332 /pkg/lang/vm/mem/mem.go | |
| parent | 20bd5570465c73b89458de58c9fb8cd4e5919b44 (diff) | |
| download | jinx-7392283d9e6b8c1ee31a3ad74ce8d13d4e8b19ec.tar.zst jinx-7392283d9e6b8c1ee31a3ad74ce8d13d4e8b19ec.zip | |
Fix cloning of outlets and don't drop nil cells
Diffstat (limited to 'pkg/lang/vm/mem/mem.go')
| -rw-r--r-- | pkg/lang/vm/mem/mem.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pkg/lang/vm/mem/mem.go b/pkg/lang/vm/mem/mem.go index 6c1d58d..99412ea 100644 --- a/pkg/lang/vm/mem/mem.go +++ b/pkg/lang/vm/mem/mem.go @@ -142,7 +142,10 @@ func (m *memImpl) Release(ptr Ptr) error { m.cells[ptr].refs-- if m.cells[ptr].refs == 0 { c := m.cells[ptr].data - c.DropCell(m) + + if c != nil { + c.DropCell(m) + } m.cells[ptr] = cell{} m.free = append(m.free, ptr) |
