Hi,

> diff --git a/lib/gen-uni-tables.c b/lib/gen-uni-tables.c
> index 3ebcd83..94c687f 100644
> --- a/lib/gen-uni-tables.c
> +++ b/lib/gen-uni-tables.c
> @@ -242,6 +242,8 @@ fill_attributes (const char *unicodedata_filename)
>              {
>                fprintf (stderr, "missing end range in '%s':%d\n",
>                         unicodedata_filename, lineno);
> +
> +              fclose (stream);
>                exit (1);
>              }
>            if (!(field1[0] == '<'

Thanks for the patch. It would not be wrong to close the stream, here,
right before exit(), but

  - It is unnecessary, since it happens during exit() anyway.
  - The GNU Coding Standards [1] say about memory allocation:
      "Memory analysis tools such as valgrind can be useful, but don’t
       complicate a program merely to avoid their false alarms. For
       example, if memory is used until just before a process exits,
       don’t free it simply to silence such a tool."
    and the same argument can be made for resource leaks (file
    descriptor leaks).

Bruno

[1] https://www.gnu.org/prep/standards/html_node/Memory-Usage.html




Reply via email to