[Piglit] [PATCH piglit] util: avoid leaking memory when caller doesn't ask for it
Caio Marcelo de Oliveira Filho
caio.oliveira at intel.com
Thu Aug 23 16:12:45 UTC 2018
Thanks, Eric. This patch is
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
On Thu, Aug 23, 2018 at 03:23:55PM +0100, Eric Engestrom wrote:
> It doesn't happen anywhere right now, but a caller could say it doesn't
> want the source, only its size, and in that case we would just leak that
> memory.
> Let's only actually allocate it when the caller wants it and will take
> ownership of that memory.
>
> Suggested-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
> Signed-off-by: Eric Engestrom <eric.engestrom at intel.com>
> ---
> tests/util/piglit-shader-test.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/tests/util/piglit-shader-test.c b/tests/util/piglit-shader-test.c
> index 4802983e56d1037be079..f11ee8ab5383080ae090 100644
> --- a/tests/util/piglit-shader-test.c
> +++ b/tests/util/piglit-shader-test.c
> @@ -101,7 +101,6 @@ piglit_load_source_from_shader_test(const char *filename,
> unsigned *output_source_size)
> {
> char group_name[4096];
> - char *source = NULL;
> unsigned text_size;
> char *line = NULL;
> char *first_line = NULL;
> @@ -142,11 +141,11 @@ piglit_load_source_from_shader_test(const char *filename,
> }
>
> text_size = line - first_line + 1;
> - source = malloc(sizeof(char*) * text_size);
> - snprintf(source, line - first_line + 1, "%s", first_line);
>
> - if (output_source)
> - *output_source = source;
> + if (output_source) {
> + *output_source = malloc(sizeof(char*) * text_size);
> + snprintf(*output_source, line - first_line + 1, "%s", first_line);
> + }
>
> if (output_source_size)
> *output_source_size = text_size;
> --
> Cheers,
> Eric
>
More information about the Piglit
mailing list