[PATCH weston v1] headless-backend: fix leak of transfrom configuration
Bryce Harrington
bryce at osg.samsung.com
Fri Apr 29 23:03:33 UTC 2016
On Fri, Apr 29, 2016 at 03:36:49PM +0200, Quentin Glidic wrote:
> On 29/04/2016 15:21, Benoit Gschwind wrote:
> >Signed-off-by: Benoit Gschwind <gschwind at gnu-log.net>
> >---
> >v1:
> > - fix warning for freeing a const
> > - fix typo
> >
> > src/main.c | 10 +++++++---
> > 1 file changed, 7 insertions(+), 3 deletions(-)
> >
> >diff --git a/src/main.c b/src/main.c
> >index f034dda..404e5fc 100644
> >--- a/src/main.c
> >+++ b/src/main.c
> >@@ -692,7 +692,7 @@ load_headless_backend(struct weston_compositor *c, char const * backend,
> > {
> > struct weston_headless_backend_config config = {{ 0, }};
> > int ret = 0;
> >- const char *transform = "normal";
> >+ char *transform = NULL;
> >
> > config.width = 1024;
> > config.height = 640;
> >@@ -706,8 +706,12 @@ load_headless_backend(struct weston_compositor *c, char const * backend,
> >
> > parse_options(options, ARRAY_LENGTH(options), argc, argv);
> >
> >- if (weston_parse_transform(transform, &config.transform) < 0)
> >- weston_log("Invalid transform \"%s\"\n", transform);
> >+ config.transform = WL_OUTPUT_TRANSFORM_NORMAL;
>
> [3] … and the default would be kept in weston_parse_transform only.
>
>
> >+ if (transform) {
>
> [1] I’d put that check in weston_parse_transform, surrounding the for
> loop …
>
>
> >+ if (weston_parse_transform(transform, &config.transform) < 0)
> >+ weston_log("Invalid transform \"%s\"\n", transform);
> >+ free(transform);
>
> [2] … and as free() is fine on NULL, no more need for that check
> here at all …
That would be okay, but I think the code's fine as is -- Wayland often
seems to generally rely on callers to do the null pointer checking as is
being done here.
I do like the idea of keeping the default local to the parsing routine,
but I'd rather get the fix landed and do code tidying another time.
Bryce
> >+ }
> >
> > config.base.struct_version = WESTON_HEADLESS_BACKEND_CONFIG_VERSION;
> > config.base.struct_size = sizeof(struct weston_headless_backend_config);
> >
>
>
> --
>
> Quentin “Sardem FF7” Glidic
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list