glr2.cc: fix memory leak

* data/skeletons/glr2.cc (glr_stack_item::setState): Free the previous
state before installing the new one.
This commit is contained in:
Akim Demaille
2021-01-09 17:57:32 +01:00
parent 3bcc090758
commit fbdff2bc38

View File

@@ -1386,12 +1386,12 @@ public:
state.check_ ();]])[ state.check_ ();]])[
if (this != state.asItem ()) if (this != state.asItem ())
{ {
is_state_ = true; if (is_state_)
// FIXME: What about the previous content? Shouldn't it be getState ().~glr_state ();
// freed? It might be useful to have an explicit "void" state else
// when this item is in unused state (in the list of free getOption ().~semantic_option ();
// items), when parse.assert is set.
new (&raw_) glr_state (state); new (&raw_) glr_state (state);
is_state_ = true;
} }
} }