[PATCH v3 1/2] config: verify that the config file is not null

Damian, Alexandru alexandru.damian at intel.com
Wed Sep 25 15:23:05 PDT 2013


The nice thing was that even if some other code besides the _log tries to
read the file path, that code can expect to open the path and read from it
just fine, instead of receiving a NULL and maybe crashing.

I'm gonna check tomorrow if this happens somewhere else in the code, and if
not, modify _full_path to return NULL and change the log message.


On Wed, Sep 25, 2013 at 9:43 PM, Kristian Høgsberg <krh at bitplanet.net>wrote:

> On Wed, Sep 25, 2013 at 11:07 AM, Alex DAMIAN
> <alexandru.damian at intel.com> wrote:
> > From: Alexandru DAMIAN <alexandru.damian at intel.com>
> >
> > weston_config_parse may return NULL,
> > leading to an ungraceful exit via SIGSEGV if we
> > try to reference the structure.
> >
> > Adding a check in weston_config_full_path so that
> > we return the empty file /dev/null as filename
> > if we started without a config file.
>
> I think it's ok for weston_config_get_full_path() to crash if passed a
> NULL pointer.  Returning /dev/null or anything else is a little odd.
> Maybe returning NULL would be ok, but I think we can just have an if
> statement and log "No config file found" if config is NULL, and log
> the file name if we did get a config.
>
> Kristian
>
> > Signed-off-by: Alexandru DAMIAN <alexandru.damian at intel.com>
> > ---
> >  shared/config-parser.c | 2 +-
> >  src/compositor.c       | 1 +
> >  2 files changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/shared/config-parser.c b/shared/config-parser.c
> > index e1bf212..ef5c5b9 100644
> > --- a/shared/config-parser.c
> > +++ b/shared/config-parser.c
> > @@ -385,7 +385,7 @@ weston_config_parse(const char *name)
> >  const char *
> >  weston_config_get_full_path(struct weston_config *config)
> >  {
> > -       return config->path;
> > +       return config == NULL ? "/dev/null" : config->path;
> >  }
> >
> >  int
> > 1.8.1.2
> >
> > _______________________________________________
> > wayland-devel mailing list
> > wayland-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>



-- 
Alex Damian
Yocto Project
SSG / OTC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130925/4d85e1bd/attachment.html>


More information about the wayland-devel mailing list