JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc
Ada


ADA.ARITH.OFLOW.BT : Base Type Overflow/Underflow (Ada)

This warning class corresponds to a GNAT SAS message. The CodeSonar analysis results may include warnings of this class if your CodeSonar project includes Ada components.

Summary

A calculation overflows or underflows the base type of a numeric type.

See also Type Range Overflow/Underflow.

This warning class corresponds to the GNAT SAS Overflow_check.

Properties

Class Name Base Type Overflow/Underflow (Ada)
Significance security
Mnemonic ADA.ARITH.OFLOW.BT
Categories
CWE CWE:128 Wrap-around Error
  CWE:131 Incorrect Calculation of Buffer Size
  CWE:190 Integer Overflow or Wraparound
  CWE:191 Integer Underflow (Wrap or Wraparound)
Availability Available for Ada only.
Enabling Checks for this warning class are enabled by default. To disable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="Base Type Overflow/Underflow (Ada)"

Example

with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
with Ada.Text_IO; use Ada.Text_IO;

procedure Overflow is
   Attempt_Count : Integer := Integer'Last;
   --  Gets reset to zero before attempting password read
   PW            : Natural;
begin
   --  Oops forgot to reset Attempt_Count
   loop
      Put ("Enter password to delete system disk");
      Get (PW);
      if PW = 42 then
         Put_Line ("system disk deleted");
         exit;
      else
         Attempt_Count := Attempt_Count + 1;  -- warning issued here

         if Attempt_Count > 3 then
            Put_Line ("max password count reached");
            raise Program_Error;
         end if;
      end if;
   end loop;
end Overflow;

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.

 

To report problems with this documentation, please visit https://support.codesecure.com/.