что означает код предупреждения Klocwork BP.DDL.SP1d и как его исправить?

при запуске Klocwork для моего проекта я получаю много предупреждений уровня 4, таких как: «Строка 178: индекс цикла« i », используемый в качестве индекса в строке 177 для вычисления« queue_id », который затем используется в качестве индекса внутри« для » на линии 175 «

код такой:

for (i = 0; i < nb_rx; i++)
{
queue_id = events[i].queue_id;
event_handler_id = queues_table[queue_id].event_handler;

handler_table[event_handler_id].receive_func(events[i], dev_id, port_id);//call event function to handle this event
}

в основном я вижу, что в цикле for я получаю результат «queue_id», читая из массива «events [i]», который индексируется с помощью «i», а затем я получаю другой результат «event_handler_id» читая из другого массива «queues_table [queue_id]», который проиндексирован с использованием предыдущего результата «queue_id», я получу это предупреждение.

код этого предупреждения Klocwork — «BP.DDL.SP1d», но я не могу найти более подробное объяснение этого.

но я обещаю, что это поведение (чтение из одного массива, а затем использовать этот результат для чтения из другого массива) именно то, что я хочу сделать. Для меня это звучит как правильная логика, поэтому я не знаю, почему Klocwork продолжает выдавать предупреждения для такого кода.

Кто-нибудь знает, в чем причина и как избежать получения предупреждения? уровень серьезности всего 4, так что это не критическая проблема, но я все еще хотел бы понять, почему.

большое спасибо.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]