Подробности
[В начало]
Проблема в реализации № L0022
Краткое описание
kernel/range.c: неправильная работа функции clean_sort_range() в случае полного массива
Подробное описание
Функция clean_sort_range() должна возвращать количество не пустых элементов массива. Однако, если массив полный, то функция clean_sort_range() возвращает ноль. Проблема заключается в том, что количество не пустых элементов вычисляется путем поиска первого пустого элемента. И, если таких элементов нет, то возвращается начальное значение переменной nr_range. Т.е. ноль.
Способы устранения
kernel/range.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN kernel/range.c~kernel-range-fix-clean_sort_range-for-the-case-of-full-array kernel/range.c --- a/kernel/range.c~kernel-range-fix-clean_sort_range-for-the-case-of-full-array +++ a/kernel/range.c @@ -119,7 +119,7 @@ static int cmp_range(const void *x1, con int clean_sort_range(struct range *range, int az) { - int i, j, k = az - 1, nr_range = 0; + int i, j, k = az - 1, nr_range = az; for (i = 0; i < k; i++) { if (range[i].end) _
Компонент
linux-kernel 2.6.32
Принято
https://lkml.org/lkml/2010/11/5/264
commit
Статус
Исправлено в kernel 2.6.37
[В начало]
»