рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рдиреНрдпреВрдЯрди рдЧреЗрдо рдбрд╛рдпрдиреЗрдорд┐рдХреНрд╕ рд░реАрдЪреЗрдХрд┐рдВрдЧ

рдЪрд┐рддреНрд░ 1

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░, рдореИрдВрдиреЗ рднреМрддрд┐рдХреА рдЗрдВрдЬрди рдиреНрдпреВрдЯрди рдЧреЗрдо рдбрд╛рдпрдиреЗрдорд┐рдХреНрд╕ рдХреА рдЦреЛрдЬ рдХреАред рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЬрдЯрд┐рд▓ рдХреЛрдб рд╣реЛрддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдЯреИрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рдореЗрд░рд╛ рдЙрддреНрд╕рд╛рд╣ рдЗрд╕ рддрдереНрдп рд╕реЗ рдФрд░ рдмрдврд╝ рдЧрдпрд╛ рдХрд┐ рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА рдЖрдВрджреНрд░реЗрдИ рдХрд╛рд░реНрдкреЛрд╡ рдиреЗ 2014 рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд▓рд┐рдпрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдкрд┐рдЫрд▓реЗ рдЫрд╣ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рд╣реИред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдиреНрдпреВрдЯрди рдЧреЗрдо рдбрд╛рдпрдиреЗрдорд┐рдХреНрд╕ рдХреА рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рджрд┐рдирд╛рдВрдХ 27 рдлрд░рд╡рд░реА, 2020 рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд┐рдЫрд▓реЗ 6 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдЯреАрдо рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд▓реЗрдЦ рдЗрдВрдЬрди рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдкреА рдХрд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдХреБрдЫ рдмрдЧреНрд╕ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдФрд░ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред

рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЙрддреНрдкрд╛рджрди


2014 рдореЗрдВ, PVS-Studio рдиреЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛:

  • 48 рдкрд╣рд▓реЗ рд╕реНрддрд░ рдХреЗ рдЕрд▓рд░реНрдЯ;
  • 79 рджреВрд╕рд░реЗ рд╕реНрддрд░;
  • 261 рддреАрд╕рд░реЗ рд╕реНрддрд░ред

2020 рдХреЗ рд▓рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐:

  • 124 рдкреНрд░рдердо рд╕реНрддрд░ рдХреА рдЪреЗрддрд╛рд╡рдиреА;
  • 272 рджреВрд╕рд░реЗ рд╕реНрддрд░;
  • рддреАрд╕рд░реЗ рд╕реНрддрд░ рдХреЗ 787 (рдЬрд┐рдирдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рднреА рд╣реИрдВ)ред

рдПрдВрдбреНрд░реА рдХреЗ рд▓реЗрдЦ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдЪреЗрддрд╛рд╡рдиреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдиреНрд╣реЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд░реЗрдВрдЧреЗ ред

рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг


рдЪреЗрддрд╛рд╡рдиреА N1

V519 'tmp [i] [2]' рдЪрд░ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджреЛ рдмрд╛рд░ рдорд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 468, 469. dgCollisionConvexHull.cpp 469

bool dgCollisionConvexHull::Create (dgInt32 count,....)
{
  ....
  dgStack<dgVector> tmp(3 * count);
  for (dgInt32 i = 0; i < count; i ++) 
  {
    tmp[i][0] = dgFloat32 (buffer[i*3 + 0]);
    tmp[i][1] = dgFloat32 (buffer[i*3 + 1]);
    tmp[i][2] = dgFloat32 (buffer[i*3 + 2]);
    tmp[i][2] = dgFloat32 (0.0f);
  }
  ....
}

рд╕рд░рдгреА рддрддреНрд╡ tmp [i] [2] рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рджреЛ рдмрд╛рд░ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдРрд╕рд╛ рдХреЛрдб рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХреА рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЗрдиреАрд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рд╣рдЯрд╛рдХрд░ рдпрд╛ рдмрд╛рдж рдХреЗ рдПрд░реЗ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдмрджрд▓рдХрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдЙрдВрдЯ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ рдПрдХ рдФрд░ рдЪреЗрддрд╛рд╡рдиреА V519 рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ , рдЬреЛ рдЖрдВрджреНрд░реЗрдИ рдХреЗ рд▓реЗрдЦ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рддреНрд░реБрдЯрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реИ :

V519 'рдирдо' рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджреЛ рдмрд╛рд░ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИред рднреМрддрд┐рдХреА dgbody.cpp 404

void dgBody::AddBuoyancyForce (....)
{
  ....
  damp = (m_omega % m_omega) * dgFloat32 (10.0f) *
        fluidAngularViscousity; 
  damp = GetMax (GetMin ((m_omega % m_omega) * 
       dgFloat32 (1000.0f) * 
       fluidAngularViscousity, dgFloat32(0.25f)), 
       dgFloat32(2.0f));
  ....
}

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд▓реЙрдЧ рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓реАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ AddBuoyancyForce рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ dgbody.cpp ред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ: рдпрджрд┐ рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд╛рдИ рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдирдП рдЙрджрд╛рд╣рд░рдг рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИрдВ, рддреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рдкрд╛рдИ рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЕрднрд╛рд╡ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИред

рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рдВрджрд┐рдЧреНрдз рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред

рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдЗрд╕ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рджреЛ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХреА:

V621 'рдСрдкрд░реЗрдЯрд░' рдХреЗ рд▓рд┐рдП рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд▓реВрдк рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред MultiBodyCar.cpp 942

V654 рд▓реВрдк рдХреА рд╕реНрдерд┐рддрд┐ 'i <count' рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред MultiBodyCar.cpp 942

void MultibodyBodyCar(DemoEntityManager* const scene)
{
  ....
  int count = 10;
  count = 0;
  for (int i = 0; i < count; i++) 
  {
    for (int j = 0; j < count; j++) 
    {
      dMatrix offset(location);
      offset.m_posit += dVector (j * 5.0f + 4.0f, 0.0f, i * 5.0f, 0.0f);
      //manager->CreateSportCar(offset, viperModel.GetData());
      manager->CreateOffRoadCar(offset, monsterTruck.GetData());
    }
  }
  ....
}

рд╢рд╛рдпрдж рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рд▓реВрдк рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЪрд╛рд▓ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣ рдХреЗ рдХрдИ рдЕрдиреНрдп рдмрд┐рдВрджреБ рднреА рдЦреЛрдЬреЗ рдЧрдП:

V519 'рд░реЗрдЯ' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджреЛ рдмрд╛рд░ рдорд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИред рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ: 325, 326ред dString.cpp 326

void dString::LoadFile (FILE* const file)
{
  ....
  size_t ret = fread(m_string, 1, size, file);
  ret = 0;
  ....
}

V519 'рд░реЗрдЯ' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджреЛ рдмрд╛рд░ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИред рдЬрд╛рдБрдЪ рд▓рд╛рдЗрдиреЗрдВ: 1222, 1223

void DemoEntityManager::DeserializeFile (....)
{
  ....
  size_t ret = fread(buffer, size, 1, (FILE*) serializeHandle);
  ret = 0;
  ....
}

V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: (рдЧрдгрдирд╛ <10)ред dMathDefines.h 726

bool dCholeskyWithRegularizer(....)
{
  ....
  int count = 0;
  while (!pass && (count < 10))
  {
    ....
  }
  ....
} 

V654 рд▓реВрдк рдХреА рд╕реНрдерд┐рддрд┐ 'ptr! = Edge' рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред dgPolyhedra.cpp 1571

void dgPolyhedra::Triangulate (....)
{
  ....
  ptr = edge;
  ....
  while (ptr != edge);
  ....
}

V763 рдкреИрд░рд╛рдореАрдЯрд░ 'рдХрд╛рдЙрдВрдЯ' рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдмреЙрдбреА рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред ConvexCast.cpp 31

StupidComplexOfConvexShapes (...., int count)
{
  count = 40;
  //count = 1;
  ....
}

V547 рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 'рдПрдХреНрд╕рд┐рд╕рд╛рдЙрдВрдЯ' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИред MultiBodyCar.cpp 650

void UpdateDriverInput(dVehicle* const vehicle, dFloat timestep) 
{
  ....
  int axisCount = scene->GetJoystickAxis(axis);
  axisCount = 0;
  if (axisCount)
  {
    ....
  }
  ....
}

рд╢рд╛рдпрдж, рдХрдИ рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреЛрдб рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдмрджрд▓рд╛рд╡ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрдиреА рд╣реЛрдЧреАред рдЦреИрд░, рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬреЛ рдПрдХ рдкрд╛рд▓рддреВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рджрд░реНрдж рд░рд╣рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдХреЛрдб рдореЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓реЛрдЧ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд┐рдХрд▓реНрдк рд▓реЗрдЦрдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред

рдЪреЗрддрд╛рд╡рдиреА N2

V769 'рдкрд░рд┐рдгрд╛рдо + i' рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд╕реВрдЪрдХ рдкрд░рд┐рдгрд╛рдо nullptr рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рдореВрд▓реНрдп рд╕рдВрд╡реЗрджрдирд╣реАрди рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред win32_monitor.c 286

GLFWvidmode* _glfwPlatformGetVideoModes(_GLFWmonitor* monitor, int* count)
{
  GLFWvidmode* result = NULL;
  ....
  for (i = 0;  i < *count;  i++)
    {
    if (_glfwCompareVideoModes(result + i, &mode) == 0)
      break;
    }
}

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рд╛рд░рдВрдн рдХреЗ рдмрд╛рдж рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рд╕реВрдЪрдХ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЪреЗрддрд╛рд╡рдиреА N3, N4, N5

V778 рджреЛ рд╕рдорд╛рди рдХреЛрдб рдЯреБрдХрдбрд╝реЗ рдкрд╛рдП рдЧрдПред рд╢рд╛рдпрдж, рдпрд╣ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИ рдФрд░ 'm_colorChannel' рдХреЗ рдмрдЬрд╛рдп 'm_colorChannel' рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред dgMeshEffect1.cpp 1887

void dgMeshEffect::EndBuildFace ()
{
  ....
  if (m_attrib.m_binormalChannel.m_count) <=
  {
    attibutes.m_binormalChannel.
      PushBack(m_attrib.m_binormalChannel[m_constructionIndex + i]);
  }
  if (m_attrib.m_binormalChannel.m_count) <= 
  {
    attibutes.m_colorChannel.
      PushBack(m_attrib.m_colorChannel[m_constructionIndex + i]);
  }
}

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рджреЛ рд╢рд░реНрддреЛрдВ рдХреА рдирдХрд▓ рдХреА рд╣реИред рджреВрд╕рд░реЗ рдХреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

if (m_attrib.m_colorChannel.m_count) <= 
{
  attibutes.m_colorChannel.
  PushBack(m_attrib.m_colorChannel[m_constructionIndex + i]);
}

рдЗрд╕реА рддрд░рд╣ рдХреА рдПрдХ рдФрд░ рддреНрд░реБрдЯрд┐ рднреА рдорд┐рд▓реА:

V524 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ 'EnabledAxis1' рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╢рд░реАрд░ 'EnabledAxis0' рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордХрдХреНрд╖ рд╣реИред dCustomDoubleHingeActuator.cpp 88

void dCustomDoubleHingeActuator::EnabledAxis0(bool state)
{
  m_axis0Enable = state;  <=
}
void dCustomDoubleHingeActuator::EnabledAxis1(bool state)
{
  m_axis0Enable = state;  <=
}

рдпрд╣рд╛рдВ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

void dCustomDoubleHingeActuator::EnabledAxis1(bool state)
{
  m_axis1Enable = state;
}

рдПрдХ рдФрд░ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ:

V525 рдХреЛрдб рдореЗрдВ рд╕рдорд╛рди рдмреНрд▓реЙрдХреЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд╣реЛрддрд╛ рд╣реИред 73, 74, 75 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ 'm_x', 'm_y', 'm_y' рдЪреЗрдХ рдХрд░реЗрдВред dWoodFracture.cpp 73

WoodVoronoidEffect(....)
{
  ....
  for (int i = 0; i < count; i ++) 
  {
    dFloat x = dGaussianRandom(size.m_x * 0.1f);
    dFloat y = dGaussianRandom(size.m_y * 0.1f);  <=
    dFloat z = dGaussianRandom(size.m_y * 0.1f);  <=
  ....
  }
  ....
}

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЪрд░ z рдХреА рд╢реБрд░реБрдЖрдд рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдП:

dFloat z = dGaussianRandom(size.m_z * 0.1f); 

рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ N6, N7

рдЗрди рдиреНрдпреВрдЯрди рдЧреЗрдо рдбрд╛рдпрдиреЗрдорд┐рдХреНрд╕, рдЬреИрд╕рд╛ рдХрд┐ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдмрдбрд╝реЗ C рдпрд╛ C ++ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдереАрдВред рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрдХреНрд╕рд░ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддреА рд╣реИ; рд╡реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░реИрд╢ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВ; рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡реЗ рдмрд╣реБрдд рдЦрддрд░рдирд╛рдХ рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдорд╛рд░рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЪреЗрдХ рдХреЛ рдПрдХ рдмрд╛рд░ рд▓рд┐рдЦрдирд╛ рдФрд░ рд╕реНрдЯреАрдо рдмрд╛рде рди рд▓реЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреЛрдб рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реНрдерд╛рди рдвреВрдВрдврдирд╛ рдФрд░ рдЙрд╕реЗ рдбреАрдмрдЧ рдХрд░рдирд╛ред рдпрд╣рд╛рдБ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рджреА рдЧрдИ рд╣реИрдВ:

V522 рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╢рдХреНрдд рдкреЙрдЗрдВрдЯрд░ 'рдлреЗрд╕' рдХреА рдбреАрдлреНрд░реЗрдВрд╕рд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИред dgContactSolver.cpp 351

DG_INLINE dgMinkFace* dgContactSolver::AddFace(dgInt32 v0,dgInt32 v1,
                                               dgInt32 v2)
{
  dgMinkFace* const face = NewFace();
  face->m_mark = 0; 
  ....
}

рдиреНрдпреВрдлрд╝рд╛рд╕ рдлрд╝рдВрдХреНрд╢рди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдЫреЛрдЯреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рджреВрдВрдЧрд╛:

DG_INLINE dgMinkFace* dgContactSolver::NewFace()
{
  dgMinkFace* face = (dgMinkFace*)m_freeFace;
  if (m_freeFace) 
  {
    m_freeFace = m_freeFace->m_next;
  } else 
  {
    face = &m_facePool[m_faceIndex];
    m_faceIndex++;
    if (m_faceIndex >= DG_CONVEX_MINK_MAX_FACES) 
    {
      return NULL;
    }
  }
#ifdef _DEBUG
    memset(face, 0, sizeof (dgMinkFace));
#endif
  return face;
}

рдПрдЧреНрдЬрд╝рд┐рдЯ рдкреЙрдЗрдВрдЯреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдлрдВрдХреНрд╢рди рдиреНрдпреВрдлрд╝реЗрд╕ , NULL рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ , рдЕрдЧрд░ рдиреЗрд▓ рдкреЙрдЗрдВрдЯрд░ рдбреЗрд░реЗрдлрд╝рд░рд┐рдВрдЧ рд╡рд╛рдкрд╕ рдЖрддреА рд╣реИ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдЧрд╛ред

рдХреЛрдб рдХреЗ рдЕрдзрд┐рдХ рдЦрддрд░рдирд╛рдХ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕реА рддрд░рд╣ рдХреА рдЪреЗрддрд╛рд╡рдиреА рджреА рдЧрдИ рд╣реИ:

V522 рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╢рдХреНрдд рд╕реВрдЪрдХ 'рдкрд░рд┐рдзрд┐' рдХреА рдбреАрдлреНрд░реЗрдВрд╕рд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИред dgPolyhedra.cpp 2541

bool dgPolyhedra::PolygonizeFace(....)
{
  ....
  dgEdge* const perimeter = flatFace.AddHalfEdge
                           (edge1->m_next->m_incidentVertex,
                            edge1->m_incidentVertex);
  perimeter->m_twin = edge1;
  ....
}

рдпрд╣рд╛рдВ AddHalfEdge рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рджреА рдЧрдИ рд╣реИ :

dgEdge* dgPolyhedra::AddHalfEdge (dgInt32 v0, dgInt32 v1)
{
  if (v0 != v1) 
  {
    dgPairKey pairKey (v0, v1);
    dgEdge tmpEdge (v0, -1);
    dgTreeNode* node = Insert (tmpEdge, pairKey.GetVal()); 
    return node ? &node->GetInfo() : NULL;
  } else 
  {
    return NULL;
  }
}

рдпрд╣рд╛рдВ, NULL рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддреАрди рд╕рдВрднрд╛рд╡рд┐рдд рдирд┐рдХрд╛рд╕ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рджреЛ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рд╣реИред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдореБрдЭреЗ 48 рд╡реА 522 рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓реА ред рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рд╡реЗ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЕрдзрд┐рдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред

рдЪреЗрддрд╛рд╡рдиреА N8

V668 рдирд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл 'pBits' рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдореГрддрд┐ рдХреЛ 'рдирдП' рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдкрд╡рд╛рдж рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛ред TargaToOpenGl.cpp 166

char* const pBits = new char [width * height * 4];
if(pBits == NULL) 
{
  fclose(pFile);
  return 0;
}

рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╣рд╛рдВ рдирдП рдСрдкрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдореВрд▓реНрдп рд╢реВрдиреНрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо, рдпрджрд┐ рдореЗрдореЛрд░реА рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдирдпрд╛ рдСрдкрд░реЗрдЯрд░ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛, рддреЛ, C ++ рднрд╛рд╖рд╛ рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ , рдПрдХ рдЕрдкрд╡рд╛рдж std :: bad_alloc () рдлреЗрдВрдХрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╢рд░реНрдд рдХрднреА рдкреВрд░реА рдирд╣реАрдВ рд╣реЛрдЧреАред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рд░рд┐рд╕реЛрд░реНрд╕ рд▓реАрдХ рд╣реЛрдЧрд╛ред

рдЪреЗрддрд╛рд╡рдиреА рдПрди 9, рдПрди 10, рдПрди 11

  • V764 he CreateWheel тАЩрдлрд╝рдВрдХреНрд╢рди: P рдКрдБрдЪрд╛рдИтАЩ рдФрд░ ius рддреНрд░рд┐рдЬреНрдпрд╛ тАЩрдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдЧрд▓рдд рдХреНрд░рдоред StandardJoints.cpp 791
  • V764 he CreateWheel тАЩрдлрд╝рдВрдХреНрд╢рди: and рдКрдБрдЪрд╛рдИтАЩ рдФрд░ ius рддреНрд░рд┐рдЬреНрдпрд╛ тАЩрдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдЧрд▓рдд рдХреНрд░рдоред StandardJoints.cpp 833
  • V764 he CreateWheel тАЩрдлрд╝рдВрдХреНрд╢рди: P рдКрдБрдЪрд╛рдИтАЩ рдФрд░ ius рддреНрд░рд┐рдЬреНрдпрд╛ тАЩрдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдЧрд▓рдд рдХреНрд░рдоред StandardJoints.cpp 884

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рджрд┐рдЦрддрд╛ рд╣реИ:

NewtonBody* const wheel = CreateWheel (scene, origin, height, radius);

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреА рдШреЛрд╖рдгрд╛ рджрд┐рдЦрддреА рд╣реИ:

static NewtonBody* CreateWheel (DemoEntityManager* const scene,
  const dVector& location, dFloat radius, dFloat height)

рдЗрд╕ рдирд┐рджрд╛рди рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди, рд╢рд╛рдпрдж рддрд░реНрдХреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ N12, N13

рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдореЛрдВ рд╕реЗ рджреЛ рд╕рдорд╛рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХреА:

V621 'рдСрдкрд░реЗрдЯрд░' рдХреЗ рдирд┐рд░реАрдХреНрд╖рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд▓реВрдк рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред dgCollisionUserMesh.cpp 161

V621 'рдСрдкрд░реЗрдЯрд░' рдХреЗ рд▓рд┐рдП рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд▓реВрдк рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред dgCollisionUserMesh.cpp 236

void dgCollisionUserMesh::GetCollidingFacesContinue
    (dgPolygonMeshDesc* const data) const
{
  ....
  data->m_faceCount = 0; <=
  data->m_userData = m_userData;
  data->m_separationDistance = dgFloat32(0.0f);
  m_collideCallback(&data->m_p0, NULL);
  dgInt32 faceCount0 = 0;
  dgInt32 faceIndexCount0 = 0;
  dgInt32 faceIndexCount1 = 0;
  dgInt32 stride = data->m_vertexStrideInBytes / sizeof(dgFloat32);
  dgFloat32* const vertex = data->m_vertex;
  dgInt32* const address = data->m_meshData.m_globalFaceIndexStart;
  dgFloat32* const hitDistance = data->m_meshData.m_globalHitDistance;
  const dgInt32* const srcIndices = data->m_faceVertexIndex;
  dgInt32* const dstIndices = data->m_globalFaceVertexIndex;
  dgInt32* const faceIndexCountArray = data->m_faceIndexCount;
  for (dgInt32 i = 0; (i < data->m_faceCount)&&
       (faceIndexCount0 < (DG_MAX_COLLIDING_INDICES - 32));
       i++)
  {
    ....
  }
  ....
}
void dgCollisionUserMesh::GetCollidingFacesDescrete
    (dgPolygonMeshDesc* const data) const
{
  ....
  data->m_faceCount = 0; <=  
  data->m_userData = m_userData;
  data->m_separationDistance = dgFloat32(0.0f);
  m_collideCallback(&data->m_p0, NULL);
  dgInt32 faceCount0 = 0;
  dgInt32 faceIndexCount0 = 0;
  dgInt32 faceIndexCount1 = 0;
  dgInt32 stride = data->m_vertexStrideInBytes / sizeof(dgFloat32);
  dgFloat32* const vertex = data->m_vertex;
  dgInt32* const address = data->m_meshData.m_globalFaceIndexStart;
  dgFloat32* const hitDistance = data->m_meshData.m_globalHitDistance;
  const dgInt32* const srcIndices = data->m_faceVertexIndex;
  dgInt32* const dstIndices = data->m_globalFaceVertexIndex;
  dgInt32* const faceIndexCountArray = data->m_faceIndexCount;
  for (dgInt32 i = 0; (i < data->m_faceCount)&&
       (faceIndexCount0 < (DG_MAX_COLLIDING_INDICES - 32));
       i++)
  {
    ....
  }
  ....
}

рд╕реНрдерд┐рддрд┐ рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ: i <data-> m_faceCountред рдЪреВрдВрдХрд┐ рдбреЗрдЯрд╛-> m_faceCount 0 рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рд▓реВрдк рдХреЛ рдПрдХ рдмрд╛рд░ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╢рд╛рдпрдж, рдЬрдм рдХреЛрдб рдХреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рд▓рд┐рдЦрдирд╛, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ m_faceCount рдлрд╝реАрд▓реНрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рднреВрд▓ рдЧрдпрд╛ , рдФрд░ рдлрд┐рд░ рдмрд╕ рд╡рд┐рдзрд┐ рдмреЙрдбреА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИред

рдЪреЗрддрд╛рд╡рдиреА N14, N15

рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░ рдореЗрдВ рдХреЛрдб рдХреА рд╕рдорд╛рди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рджреЛ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдЬрд╛рд░реА рдХреА:

V630 '_alloca' рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рд╣реИрдВред dgSkeletonContainer.cpp 1341

V630 '_alloca' рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рд╣реИрдВред dgSkeletonContainer.cpp 1342

#define alloca _alloca
....
#define dAlloca(type,size) (type*) alloca ((size) * sizeof (type))
....
dgSpatialMatrix::dgSpatialMatrix();
dgSpatialMatrix::dgSpatialMatrix(dgFloat32 val);
....
dgSpatialMatrix* const bodyMassArray = dgAlloca(dgSpatialMatrix,
                                                m_nodeCount);
dgSpatialMatrix* const jointMassArray = dgAlloca(dgSpatialMatrix,
                                                 m_nodeCount); 

рдХреЛрдб рдХреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдпрд╛ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рд╣реИред рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдореГрддрд┐ рдХреЗ рдЗрд╕ рдЖрд╡рдВрдЯрди рдХреЗ рд╕рд╛рде, рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕реНрдореГрддрд┐ рдХреЛ рдореБрдХреНрдд рдХрд░рддреЗ рд╕рдордп, рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдХреЛ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдмреЗрд╣рдж рд╕рдВрджрд┐рдЧреНрдз рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рд╕реЗ рдЕрд╕рд┐рдВрдЪрд┐рдд рдЪрд░ рдФрд░ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЙрд▓реЙрдХ / рдлреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ , рдЗрд╕ рддрд░рд╣ рдХрд╛ рдХреЛрдб рдЦрд░рд╛рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдорд╢реАрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдореЗрдореЛрд░реА рд╕реЗ рдЕрдзрд┐рдХ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рдЬрдм рдЖрдк рдЗрд╕ рдореЗрдореЛрд░реА рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рднрд╛рдЬрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдпрд╣рд╛рдВ рдХреБрдЫ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕рдВрджреЗрд╢ рджрд┐рдП рдЧрдП рд╣реИрдВ:
  • V630 The '_alloca' function is used to allocate memory for an array of objects which are classes containing constructors. dVehicleSolver.cpp 498
  • V630 The '_alloca' function is used to allocate memory for an array of objects which are classes containing constructors. dVehicleSolver.cpp 499
  • V630 The '_alloca' function is used to allocate memory for an array of objects which are classes containing constructors. dVehicleSolver.cpp 1144
  • 10 .


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛, рд╕рддреНрдпрд╛рдкрди рдХреЗ рджреМрд░рд╛рди, рдирдИ рджрд┐рд▓рдЪрд╕реНрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХреА рдЧрдИред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЕрдкрдирд╛ рдХрд╛рдо рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╣рдо рдЕрдкрдиреЗ рдЖрд╕-рдкрд╛рд╕ рдХреА рджреБрдирд┐рдпрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдкрд░рд┐рдкреВрд░реНрдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ PVS-Studio рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред



рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд╡реНрд▓рд╛рджрд┐рд╕реНрд▓рд╛рд╡ рд╕реНрдЯреЛрд▓рд╛рд░реЛрд╡ред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдиреНрдпреВрдЯрди рдЧреЗрдо рдбрд╛рдпрдиреЗрдорд┐рдХреНрд╕ рдХрд╛ рджреВрд╕рд░рд╛ рдЪреЗрдХ ред

All Articles