From: Kamalesh Babulal Date: Wed, 14 Sep 2022 14:04:14 +0000 (-0600) Subject: tools/cgsnapshot: fix wrong array size in is_ctrl_on_list() X-Git-Tag: v2.0.3~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da357caefb4d9e7cb042fb04bde642dc2df8e3a3;p=thirdparty%2Flibcgroup.git tools/cgsnapshot: fix wrong array size in is_ctrl_on_list() GCC throws -Wstringop-overflow warning: CC cgsnapshot-cgsnapshot.o cgsnapshot.c: In function 'parse_controllers': cgsnapshot.c:540:53: warning: 'is_ctlr_on_list' accessing 16777216 bytes in a region of size 409600 [-Wstringop-overflow=] 540 | if ((!(flags & FL_LIST) || (is_ctlr_on_list(controllers, cont_names))) && | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cgsnapshot.c:540:53: note: referencing argument 2 of type 'char(*)[4096]' cgsnapshot.c:495:12: note: in a call to function 'is_ctlr_on_list' 495 | static int is_ctlr_on_list(char controllers[CG_CONTROLLER_MAX][FILENAME_MAX], | ^~~~~~~~~~~~~~~ cgsnapshot.c:560:37: warning: 'is_ctlr_on_list' accessing 16777216 bytes in a region of size 409600 [-Wstringop-overflow=] 560 | if ((!(flags & FL_LIST) || (is_ctlr_on_list(controllers, cont_names))) && | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cgsnapshot.c:560:37: note: referencing argument 2 of type 'char(*)[4096]' cgsnapshot.c:495:12: note: in a call to function 'is_ctlr_on_list' 495 | static int is_ctlr_on_list(char controllers[CG_CONTROLLER_MAX][FILENAME_MAX], | ^~~~~~~~~~~~~~~ the warning is seen due to the mismatch in the array size of the second argument passed to is_ctlr_on_list() from parse_controllers(). Fix, this long standing warning by chaging the size of the second function argument in is_ctrl_on_list(). Signed-off-by: Kamalesh Babulal Signed-off-by: Tom Hromatka (cherry picked from commit 4362c8d32d5d8813a9a40bebe744aeaec5fbf953) --- diff --git a/src/tools/cgsnapshot.c b/src/tools/cgsnapshot.c index 0d20a203..553c9b6f 100644 --- a/src/tools/cgsnapshot.c +++ b/src/tools/cgsnapshot.c @@ -516,7 +516,7 @@ err: } static int is_ctlr_on_list(char controllers[CG_CONTROLLER_MAX][FILENAME_MAX], - cont_name_t wanted_conts[FILENAME_MAX]) + cont_name_t wanted_conts[CG_CONTROLLER_MAX]) { int i = 0; int j = 0;