diff --git a/repos/base-linux/src/core/pd_session_component.cc b/repos/base-linux/src/core/pd_session_component.cc index 50532139c..87c85c122 100644 --- a/repos/base-linux/src/core/pd_session_component.cc +++ b/repos/base-linux/src/core/pd_session_component.cc @@ -376,7 +376,9 @@ void Pd_session_component::start(Capability binary) return; /* XXX reflect error to client */ } - const char *filename = ds->fname().buf; + /* we need 's' on stack to make it an lvalue with an lvalue member we use the pointer to */ + Linux_dataspace::Filename s = ds->fname(); + const char *filename = s.buf; /* * In order to be executable via 'execve', a program must be represented as