[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen stable-4.13] tools/xenpmd: Fix gcc10 snprintf warning
commit 75c57992911d7b4b3828369f7e45ff67e60ff1ea Author: Bertrand Marquis <bertrand.marquis@xxxxxxx> AuthorDate: Thu Oct 15 10:16:09 2020 +0100 Commit: Ian Jackson <iwj@xxxxxxxxxxxxxx> CommitDate: Mon Nov 9 17:48:16 2020 +0000 tools/xenpmd: Fix gcc10 snprintf warning Add a check for snprintf return code and ignore the entry if we get an error. This should in fact never happen and is more a trick to make gcc happy and prevent compilation errors. This is solving the following gcc warning when compiling for arm32 host platforms with optimization activated: xenpmd.c:92:37: error: '%s' directive output may be truncated writing between 4 and 2147483645 bytes into a region of size 271 [-Werror=format-truncation=] This is also solving the following Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=970802 Signed-off-by: Bertrand Marquis <bertrand.marquis@xxxxxxx> Acked-by: Wei Liu <wl@xxxxxxx> (cherry picked from commit 0dfddb2116e3757f77a691a3fe335173088d69dc) --- tools/xenpmd/xenpmd.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/xenpmd/xenpmd.c b/tools/xenpmd/xenpmd.c index 1c801caa71..50679efa3f 100644 --- a/tools/xenpmd/xenpmd.c +++ b/tools/xenpmd/xenpmd.c @@ -102,6 +102,7 @@ FILE *get_next_battery_file(DIR *battery_dir, FILE *file = 0; struct dirent *dir_entries; char file_name[284]; + int ret; do { @@ -111,11 +112,15 @@ FILE *get_next_battery_file(DIR *battery_dir, if ( strlen(dir_entries->d_name) < 4 ) continue; if ( battery_info_type == BIF ) - snprintf(file_name, sizeof(file_name), BATTERY_INFO_FILE_PATH, + ret = snprintf(file_name, sizeof(file_name), BATTERY_INFO_FILE_PATH, dir_entries->d_name); else - snprintf(file_name, sizeof(file_name), BATTERY_STATE_FILE_PATH, + ret = snprintf(file_name, sizeof(file_name), BATTERY_STATE_FILE_PATH, dir_entries->d_name); + /* This should not happen but is needed to pass gcc checks */ + if (ret < 0) + continue; + file_name[sizeof(file_name) - 1] = '\0'; file = fopen(file_name, "r"); } while ( !file ); -- generated by git-patchbot for /home/xen/git/xen.git#stable-4.13
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |