Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-23897

Coverity analysis defect 98887: Division or modulo by zero

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Aggregation Framework
    • None
    • Fully Compatible
    • ALL
    • Query 14 (05/13/16)

    Description

      Division or modulo by zero results in undefined behavior.

      Defect 98887 (STATIC_C)
      Checker DIVIDE_BY_ZERO (subcategory none)
      File: /src/mongo/db/pipeline/expression.cpp
      Function mongo::ExpressionMod::evaluateInternal(mongo::Variables *) const
      /src/mongo/db/pipeline/expression.cpp, line: 1990
      Assigning: "rightLong" = "rhs.coerceToLong()". The value of "rightLong" is now 0.

                      long long rightLong = rhs.coerceToLong();

      /src/mongo/db/pipeline/expression.cpp, line: 1991
      In expression "left % rightLong", modulo by expression "rightLong" which may be zero has undefined behavior.

                      return Value(left % rightLong);

      Attachments

        Activity

          People

            james.wahlin@mongodb.com James Wahlin
            xgen-internal-coverity Coverity Collector User
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: