Examples of errors detected by the V786 diagnostic.


V786. Assigning the value C to the X variable looks suspicious. The value range of the variable: [A, B].


Tizen

V786 It is odd that value 'BT_PROXIMITY_LINKLOSS_ALERT | BT_PROXIMITY_IMMEDIATE_ALERT' is assigned to the 'reporter_s->services_supported' variable. The value range of 'reporter_s->services_supported' variable: [0, 1]. bluetooth-proximity.c 105


typedef enum {
  BT_PROXIMITY_LINKLOSS_ALERT = 0x01,
  BT_PROXIMITY_IMMEDIATE_ALERT = 0x02,
  BT_PROXIMITY_TX_POWER = 0x04,
} bt_proximity_property_t;

typedef struct {
  bt_proximity_reporter_server_s reporter_server;
  bool services_supported;                                 // <=
  bool connected;

  const void *connection_callback;
  void *user_data;
} bt_proximity_reporter_s;

static bt_proximity_reporter_s *reporter_s = NULL;

int bt_proximity_reporter_create(....)
{
  ....
  reporter_s->services_supported =                         // <=
    BT_PROXIMITY_LINKLOSS_ALERT | BT_PROXIMITY_IMMEDIATE_ALERT;
  ....
}


Do you make errors in the code?

Check your code
with PVS-Studio

Static code analysis
for C, C++ and C#

goto PVS-Studio;