diff mbox series

kconfig: add fflush() before ferror() check

Message ID 20220212161837.2235261-1-masahiroy@kernel.org (mailing list archive)
State New, archived
Headers show
Series kconfig: add fflush() before ferror() check | expand

Commit Message

Masahiro Yamada Feb. 12, 2022, 4:18 p.m. UTC
As David Laight pointed out, there is not much point in calling
ferror() unless you call fflush() first.

Reported-by: David Laight <David.Laight@ACULAB.COM>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 scripts/kconfig/confdata.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Masahiro Yamada Feb. 18, 2022, 2:34 a.m. UTC | #1
On Sun, Feb 13, 2022 at 1:19 AM Masahiro Yamada <masahiroy@kernel.org> 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@ACULAB.COM>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---

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
>
diff mbox series

Patch

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);