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

Coverity analysis defect 21944: Division or modulo by zero

    • Fully Compatible
    • ALL
    • Performance F (02/01/16)

      Division or modulo by zero results in undefined behavior.

      Defect 21944 (STATIC_C)
      Checker DIVIDE_BY_ZERO (subcategory none)
      File: /src/mongo/scripting/bson_template_evaluator.cpp
      Function mongo::BsonTemplateEvaluator::evalSeqInt(mongo::BsonTemplateEvaluator*, const char *, const mongo::BSONObj &, mongo::BSONObjBuilder &)
      /src/mongo/scripting/bson_template_evaluator.cpp, line: 240
      Assigning: "modval" = "spec[mongo::StringData("mod")].numberInt()". The value of "modval" is now 0.

                  int modval = spec["mod"].numberInt();
      

      /src/mongo/scripting/bson_template_evaluator.cpp, line: 241
      In expression "curr_seqval % modval", modulo by expression "modval" which may be zero has undefined behavior.

                  curr_seqval = (curr_seqval % modval);
      

            Assignee:
            david.daly@mongodb.com David Daly
            Reporter:
            xgen-internal-coverity Coverity Collector User
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: