Fix the following warning on gcc11 by making numbuf big enough to fit
format content.
lfs.c: In function ‘print_quota’:
lfs.c:7719:48: error: ‘sprintf’ may write a terminating nul past the end of the destination [-Werror=format-overflow=]
7719 | sprintf(numbuf[0], "%s*", strbuf);
| ^
lfs.c:7719:25: note: ‘sprintf’ output between 2 and 33 bytes into a destination of size 32
7719 | sprintf(numbuf[0], "%s*", strbuf);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Test-parameters: trivial
Change-Id: I021e6ffff2e1405eadbe689f718674af4d4d6376
Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
Reviewed-on: https://review.whamcloud.com/43711
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Neil Brown <neilb@suse.de>
}
}
-#define STRBUF_LEN 32
+#define STRBUF_LEN 24
static void print_quota(char *mnt, struct if_quotactl *qctl, int type,
int rc, bool h, bool show_default)
{
qctl->qc_cmd == LUSTRE_Q_GETDEFAULT_POOL) {
int bover = 0, iover = 0;
struct obd_dqblk *dqb = &qctl->qc_dqblk;
- char numbuf[3][STRBUF_LEN];
+ char numbuf[3][STRBUF_LEN + 2]; /* 2 for brackets or wildcard */
char timebuf[40];
char strbuf[STRBUF_LEN];