Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
Примеры ошибок, обнаруженных с...

Примеры ошибок, обнаруженных с помощью диагностики V3157

V3157. Suspicious division. Absolute value of the left operand is less than the right operand.


.NET 7

V3157 The 'year % 100' expression evaluates to the value of the left operand because its absolute value is less than the right operand. GregorianCalendarHelper.cs 536


public int ToFourDigitYear(int year, int twoDigitYearMax)
{
  if (year < 0)
  {
    throw new ArgumentOutOfRangeException(nameof(year),
                                          SR.ArgumentOutOfRange_NeedPosNum);
  }

  if (year < 100)
  {
    int y = year % 100;  // <=

    return (twoDigitYearMax / 100 - (y > twoDigitYearMax % 100 ? 1 : 0))
             * 100 + y;
  }
  ....
}

Garnet

V3157 The 'firstClientIndex / 2' expression evaluates to 0 because absolute value of the left operand is less than the right operand. ReplicaFailoverSession.cs 85


private async Task<bool> SendFailoverAuthReq(long requestedEpoch)
{
  int firstClientIndex = option == FailoverOption.FORCE ? 1 : 0;
  ....
  int majority = (clients.Length - firstClientIndex / 2) + 1;
  ....
}