On Tue, 31 Oct 2017 13:33:17 +0100 Quentin Glidic <[email protected]> wrote:
> On 10/31/17 12:48 PM, Pekka Paalanen wrote: > > From: Pekka Paalanen <[email protected]> > > > > Duplicate these strings to decouple their lifetime from whatever the > > backends used. This should prevent hard to catch use after frees and > > such problems in the future. > > > > Signed-off-by: Pekka Paalanen <[email protected]> > > Straightforward: > Reviewed-by: Quentin Glidic <[email protected]> > > As a nitpick, maybe we could add xstrdup or safe_strdup to handle the > NULL case? You mean strdup() that is safe to call with a NULL argument? I suppose, yeah. First I was thinking of xstrdup() that would abort() on strdup() failure. Do both? I've been thinking that maybe our to_<type>() inline casting functions should also gracefully deal with NULL. Thanks, pq > > --- > > libweston/compositor.c | 14 +++++++++++--- > > 1 file changed, 11 insertions(+), 3 deletions(-) > > > > diff --git a/libweston/compositor.c b/libweston/compositor.c > > index 1cc5050a..de667cfa 100644 > > --- a/libweston/compositor.c > > +++ b/libweston/compositor.c > > @@ -4479,6 +4479,10 @@ static void > > weston_head_release(struct weston_head *head) > > { > > weston_head_detach(head); > > + > > + free(head->make); > > + free(head->model); > > + free(head->serial_number); > > } > > > > /** Store monitor make, model and serial number > > @@ -4500,9 +4504,13 @@ weston_head_set_monitor_strings(struct weston_head > > *head, > > const char *model, > > const char *serialno) > > { > > - head->make = (char *)make; > > - head->model = (char *)model; > > - head->serial_number = (char *)serialno; > > + free(head->make); > > + free(head->model); > > + free(head->serial_number); > > + > > + head->make = make ? strdup(make) : NULL; > > + head->model = model ? strdup(model) : NULL; > > + head->serial_number = serialno ? strdup(serialno) : NULL; > > } > > > > /** Store physical image size > > > >
pgp0b6oJHJ3Ms.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
