[PATCH weston v1] headless-backend: fix leak of transfrom configuration

Quentin Glidic sardemff7+wayland at sardemff7.net
Fri Apr 29 13:36:49 UTC 2016


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 …


> +	}
>
>  	config.base.struct_version = WESTON_HEADLESS_BACKEND_CONFIG_VERSION;
>  	config.base.struct_size = sizeof(struct weston_headless_backend_config);
>


-- 

Quentin “Sardem FF7” Glidic


More information about the wayland-devel mailing list