| From: Nathan Chancellor <natechancellor@gmail.com> |
| Date: Sat, 2 Jun 2018 09:02:09 -0700 |
| Subject: kconfig: Avoid format overflow warning from GCC 8.1 |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit 2ae89c7a82ea9d81a19b4fc2df23bef4b112f24e upstream. |
| |
| In file included from scripts/kconfig/zconf.tab.c:2485: |
| scripts/kconfig/confdata.c: In function ‘conf_write’: |
| scripts/kconfig/confdata.c:773:22: warning: ‘%s’ directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=] |
| sprintf(newname, "%s%s", dirname, basename); |
| ^~ |
| scripts/kconfig/confdata.c:773:19: note: assuming directive output of 7 bytes |
| sprintf(newname, "%s%s", dirname, basename); |
| ^~~~~~ |
| scripts/kconfig/confdata.c:773:2: note: ‘sprintf’ output 1 or more bytes (assuming 4104) into a destination of size 4097 |
| sprintf(newname, "%s%s", dirname, basename); |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| scripts/kconfig/confdata.c:776:23: warning: ‘.tmpconfig.’ directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=] |
| sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid()); |
| ^~~~~~~~~~~ |
| scripts/kconfig/confdata.c:776:3: note: ‘sprintf’ output between 13 and 4119 bytes into a destination of size 4097 |
| sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid()); |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| Increase the size of tmpname and newname to make GCC happy. |
| |
| Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> |
| Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| scripts/kconfig/confdata.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/scripts/kconfig/confdata.c |
| +++ b/scripts/kconfig/confdata.c |
| @@ -738,7 +738,7 @@ int conf_write(const char *name) |
| struct menu *menu; |
| const char *basename; |
| const char *str; |
| - char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1]; |
| + char dirname[PATH_MAX+1], tmpname[PATH_MAX+22], newname[PATH_MAX+8]; |
| char *env; |
| |
| dirname[0] = 0; |