Juliet C/C++ 1.3 Test suite #112
DownloadDescription
A collection of test cases in the C/C++ language. It contains examples organized under 118 different CWEs. Version 1.3 adds test cases for increment and decrement and fixes some dozen systematic problems in 1.2 cases.
All documents related to the Juliet Test Suite can be found at the documents page.
This software is not subject to copyright protection and is in the public domain. NIST assumes no responsibility whatsoever for its use by other parties, and makes no guaranties, expressed or implied, about its quality, reliability, or any other characteristic.
Pursuant to 17 USC 105, Juliet Test Suite for C/C++ version 1.3 is not subject to copyright protection in the United States. To the extent NIST may claim Foreign Rights in Juliet Test Suite for C/C++ version 1.3, the Test Suite is being made available to you under the CC0 1.0 Public Domain License.
Documentation
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 16 Control flow: while(1)
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 17 Control flow: for loops
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 18 Control flow: goto statements
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 21 Control flow: Flow controlled by value of a static global variable. All fu...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 22 Control flow: Flow controlled by value of a global variable. Sink function...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 31 Data flow using a copy of data within the same function
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 32 Data flow using two pointers to the same value within the same function
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 33 Data flow: use of a C++ reference to data within the same function
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 34 Data flow: use of a union containing two methods of accessing the same dat...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 41 Data flow: data passed as an argument from one function to another in the ...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 42 Data flow: data returned from one function to another in the same source file
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 43 Data flow: data flows using a C++ reference from one function to another i...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 44 Data/control flow: data passed as an argument from one function to a funct...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 45 Data flow: data passed as a static global variable from one function to an...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 51 Data flow: data passed as an argument from one function to another in diff...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 52 Data flow: data passed as an argument from one function to another to anot...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 53 Data flow: data passed as an argument from one function through two others...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 54 Data flow: data passed as an argument from one function through three othe...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 61 Data flow: data returned from one function to another in different source ...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 62 Data flow: data flows using a C++ reference from one function to another i...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 63 Data flow: pointer to data passed from one function to another in differen...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 64 Data flow: void pointer to data passed from one function to another in dif...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 65 Data/control flow: data passed as an argument from one function to a funct...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 66 Data flow: data passed in an array from one function to another in differe...
-
CWE: 369 Divide by Zero BadSource: rand Set data to result of rand(), which may be zero GoodSource: Non-zero Sinks: modulo GoodSink: Check for zero before modulo BadSink : Modulo a constant with data Flow Variant: 67 Data flow: data passed in a struct from one function to another in differe...