In pcc_expr_time_parse() 'buf' may not have a null
terminator if the source string's length is equal
to the buffer. This patch handles this.
Test-Parameters: trivial testlist=sanity-pcc
CoverityID: 426259 ("Buffer not null terminated")
Fixes:
3835f4d3 (LU-13881 pcc: comparator support for PCC rules)
Signed-off-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Change-Id: Ifc144d73c75b8eef25a994630c600b9c1922aa3b
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55377
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
unsigned long mtime;
int len = strlen(str);
unsigned int mult = 1;
- char buf[10];
+ char buf[11]; /* +1 for NUL */
int rc;
if (expr->pe_opc == PCC_FIELD_OP_EQ)
return -EOPNOTSUPP;
/* 1B seconds is enough, and avoids the need for overflow checking */
- if (len > 10)
+ if (len >= sizeof(buf))
return -EOVERFLOW;
strncpy(buf, str, sizeof(buf));