Examples of errors detected by the V578 diagnostic


V578. An odd bitwise operation detected. Consider verifying it.


NetXMS

V578 An odd bitwise operation detected: m_flags & (0x00000002 | 0x00000002). Consider verifying it. nms_objects.h 1410


#define CF_AUTO_UNBIND 0x00000002

bool isAutoUnbindEnabled()
{
  return ((m_flags & (CF_AUTO_UNBIND | CF_AUTO_UNBIND)) ==
          (CF_AUTO_UNBIND | CF_AUTO_UNBIND)) ? true : false;
}

RT-Thread

V578 An odd bitwise operation detected. Consider verifying it. pwm.c 415


uint32_t PWM_GetADCTriggerFlag (PWM_T *pwm,
                                uint32_t u32ChannelNum)
{
  uint32_t u32Ret;

  u32Ret = pwm->TRGADCSTS >> u32ChannelNum;

  return (u32Ret & (PWM_TRIGGER_ADC_PERIOD_POINT |
                    PWM_TRIGGER_ADC_CENTER_POINT |
                    PWM_TRIGGER_ADC_FALLING_EDGE_POINT |   // <=
                    PWM_TRIGGER_ADC_FALLING_EDGE_POINT));  // <=
}

Android

V578 An odd bitwise operation detected. Consider verifying it. bta_dm_co.cc 259


void bta_dm_co_ble_io_req(....)
{
  ....
  *p_auth_req = bte_appl_cfg.ble_auth_req |
                (bte_appl_cfg.ble_auth_req & 0x04) |
                ((*p_auth_req) & 0x04);
  ....
}


Bugs Found

Checked Projects
364
Collected Errors
13 504