Examples of errors detected by the V622 diagnostic


V622. Consider inspecting the 'switch' statement. It's possible that the first 'case' operator is missing.


K Desktop Environment

V622 Consider inspecting the 'switch' statement. It's possible that the first 'case' operator is missing. listjob.cpp 131


void ListJob::doStart()
{
  Q_D( ListJob );

  switch ( d->option ) {
    break;                          // <=
  case IncludeUnsubscribed:
    d->command = "LIST";
    break;
  case IncludeFolderRoleFlags:
    d->command = "XLIST";
    break;
  case NoOption:
  default:
    d->command = "LSUB";
  }
  ....
}

Miranda NG

V622 Consider inspecting the 'switch' statement. It's possible that the first 'case' operator is missing. UInfoEx ctrl_contact.cpp 188


static INT_PTR CALLBACK DlgProc_EMail(....)
{
  case WM_COMMAND:
    switch (LOWORD(wParam)) {
      if (HIWORD(wParam) == BN_CLICKED) {
        case IDOK:
  ....
}

Similar errors can be found in some other places:

  • V622 Consider inspecting the 'switch' statement. It's possible that the first 'case' operator is missing. UInfoEx ctrl_contact.cpp 290

CryEngine V

V622 Consider inspecting the 'switch' statement. It's possible that the first 'case' operator is missing. mergedmeshrendernode.cpp 999


static inline void ExtractSphereSet(....)
{
  ....
  switch (statusPos.pGeom->GetType())
  {
    if (false)
    {
    case GEOM_CAPSULE:
      statusPos.pGeom->GetPrimitive(0, &cylinder);
    }
    if (false)
    {
    case GEOM_CYLINDER:
      statusPos.pGeom->GetPrimitive(0, &cylinder);
    }
    for (int i = 0; i < 2 && ....; ++i)
    {
      ....
    }
    break;
  ....
}

Tizen

V622 Consider inspecting the 'switch' statement. It's possible that the first 'case' operator is missing. streamrecorder_test.c 472


static void main_menu(gchar buf)
{
  ....
  switch (buf) {
    if (recorder_state == STREAMRECORDER_STATE_RECORDING) {
    case 'p': /* Pause Recording*/
      g_print("*Pause!\n");
      err = streamrecorder_pause(hmstreamrecorder->recorder);

      if (err < 0)
        LOGE("Rec pause streamrecorder_pause  = %x", err);

      recorder_state = STREAMRECORDER_STATE_PAUSED;
      break;
   } else {
     case 'r': /* Resume Recording*/
       g_print("*Resume!\n");
       err = streamrecorder_start(hmstreamrecorder->recorder);
       if (err < 0)
         LOGE("Rec start streamrecorder_record  = %x", err);

       recorder_state = STREAMRECORDER_STATE_RECORDING;
       break;
   }
  ....
}

Amazon Lumberyard

V622 CWE-478 Consider inspecting the 'switch' statement. It's possible that the first 'case' operator is missing. datum.cpp 872


AZ_INLINE bool IsDataGreaterEqual(....)
{
  switch (type.GetType())
  {
    AZ_Error("ScriptCanvas", false, "....");
    return false;

  case Data::eType::Number:
    return IsDataGreaterEqual<Data::NumberType>(lhs, rhs);

  ....

  case Data::eType::AABB:
    AZ_Error("ScriptCanvas", false, "....",
      Data::Traits<Data::AABBType>::GetName());
    return false;

  case Data::eType::OBB:
    AZ_Error("ScriptCanvas", false, "....",
      Data::Traits<Data::OBBType>::GetName());
    return false;
  ....
}


Bugs Found

Checked Projects
336
Collected Errors
12 743