On Fri, Sep 16, 2016 at 08:43:38AM +0200, Michael Olbrich wrote: > Caching pointers to device tree nodes or names is not save. The barebox > internal device tree may be changed by loading a new device tree or through > fixup handlers. As a result, the string may be deleted. > Use local copies of the full path instead. > > Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> > --- > Changes since v1: > - First patch split into two patches Applied, thanks Sascha > > common/state/backend.c | 3 ++- > common/state/state.h | 2 +- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/common/state/backend.c b/common/state/backend.c > index 2f2e6dfd32d1..5235bb0283dd 100644 > --- a/common/state/backend.c > +++ b/common/state/backend.c > @@ -164,7 +164,7 @@ int state_backend_init(struct state_backend *backend, struct device_d *dev, > if (ret) > goto out_free_format; > > - backend->of_path = of_path; > + backend->of_path = xstrdup(of_path); > > return 0; > > @@ -185,4 +185,5 @@ void state_backend_free(struct state_backend *backend) > state_storage_free(&backend->storage); > if (backend->format) > state_format_free(backend->format); > + free(backend->of_path); > } > diff --git a/common/state/state.h b/common/state/state.h > index 32146ca1bbc7..f930d06195b2 100644 > --- a/common/state/state.h > +++ b/common/state/state.h > @@ -87,7 +87,7 @@ struct state_backend_storage { > struct state_backend { > struct state_backend_format *format; > struct state_backend_storage storage; > - const char *of_path; > + char *of_path; > }; > > struct state { > -- > 2.8.1 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox