diff --git a/WHATS_NEW b/WHATS_NEW index 2cce7dbd9..3bae8ac96 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.91 - =================================== + Add range test for device number in _scan_proc_dev(). Use signed long for sysconf() call in cmirrord. Do not write in front of log buffer in print_log(). Add boundary test for number of mirror devs and logs. diff --git a/lib/filters/filter.c b/lib/filters/filter.c index d36f21b7e..9d08a7a9e 100644 --- a/lib/filters/filter.c +++ b/lib/filters/filter.c @@ -226,7 +226,7 @@ static int _scan_proc_dev(const char *proc, const struct dm_config_node *cn) /* If it's not a number it may be name of section */ line_maj = atoi(((char *) (line + i))); - if (!line_maj) { + if ((line_maj <= 0) || (line_maj >= NUMBER_OF_MAJORS)) { blocksection = (line[i] == 'B') ? 1 : 0; continue; }