Static uncalled function

Функция со статическим контекстом, не названным в файле

Описание

Этот дефект происходит когда static функция не вызвана в том же файле, где это задано.

Риск

Невостребованные функции часто следуют из унаследованного кода и вызывают ненужное обслуживание.

Фиксация

Если функция не предназначена, чтобы быть названной, удалите функцию. Если функция предназначается для отладки целей только, перенесите функциональное определение в макрос отладки.

Смотрите примеры мер ниже.

Если вы не хотите устранять проблему, добавьте комментарии в свой результат или код, чтобы избежать другого анализа. Смотрите Результаты Polyspace Адреса Через Исправления ошибок или Выравнивания.

Примеры

развернуть все

Сохраните следующий код в файле Initialize_Value.c

#include <stdlib.h>
#include <stdio.h>

static int Initialize(void) 
/* Defect: Function not called */
  {
   int input;
   printf("Enter an integer:");
   scanf("%d",&input);
   return(input);
  }
  
 void main()
  {
   int num;

   num=0;

   printf("The value of num is %d",num);
  }

static функциональный Initialize не называется в файле Initialize_Value.c.

Коррекция — вызывает функцию, по крайней мере, однажды

Одна возможная коррекция должна вызвать Initialize по крайней мере, однажды в файле Initialize_Value.c.

#include <stdlib.h>
#include <stdio.h>

static int Initialize(void)
  {
   int input;
   printf("Enter an integer:");
   scanf("%d",&input);
   return(input);
  }

 void main()
  {
   int num;

   /* Fix: Call static function Initialize */
   num=Initialize();
    
   printf("The value of num is %d",num);
  }

Информация о результате

Группа: Поток данных
Язык: C | C++
Значение по умолчанию: Off
Синтаксис командной строки: UNCALLED_FUNC
Удар: низко
ID CWE: 561
Введенный в R2013b