Re: [PATCH] kconfig: add fflush() before ferror() check

From: Masahiro Yamada
Date: Thu Feb 17 2022 - 21:35:40 EST


On Sun, Feb 13, 2022 at 1:19 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> As David Laight pointed out, there is not much point in calling
> ferror() unless you call fflush() first.
>
> Reported-by: David Laight <David.Laight@xxxxxxxxxx>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> ---

Applied to linux-kbuild.


>
> scripts/kconfig/confdata.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
> index d3c3a61308ad..94dcec2cc803 100644
> --- a/scripts/kconfig/confdata.c
> +++ b/scripts/kconfig/confdata.c
> @@ -979,6 +979,7 @@ static int conf_write_autoconf_cmd(const char *autoconf_name)
>
> fprintf(out, "\n$(deps_config): ;\n");
>
> + fflush(out);
> ret = ferror(out); /* error check for all fprintf() calls */
> fclose(out);
> if (ret)
> @@ -1097,6 +1098,7 @@ static int __conf_write_autoconf(const char *filename,
> if ((sym->flags & SYMBOL_WRITE) && sym->name)
> print_symbol(file, sym);
>
> + fflush(file);
> /* check possible errors in conf_write_heading() and print_symbol() */
> ret = ferror(file);
> fclose(file);
> --
> 2.32.0
>


--
Best Regards
Masahiro Yamada