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: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 05 Control flow: if(staticTrue) and if(staticFalse)
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 06 Control flow: if(STATIC_CONST_FIVE==5) and if(STATIC_CONST_F...
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 07 Control flow: if(staticFive==5) and if(staticFive!=5)
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 08 Control flow: if(staticReturnsTrue()) and if(staticReturnsFa...
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 09 Control flow: if(GLOBAL_CONST_TRUE) and if(GLOBAL_CONST_FALSE)
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 10 Control flow: if(globalTrue) and if(globalFalse)
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 11 Control flow: if(globalReturnsTrue()) and if(globalReturnsFa...
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 12 Control flow: if(globalReturnsTrueOrFalse())
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 13 Control flow: if(GLOBAL_CONST_FIVE==5) and if(GLOBAL_CONST_F...
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 14 Control flow: if(globalFive==5) and if(globalFive!=5)
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 15 Control flow: switch(6)
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 16 Control flow: while(1)
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 17 Control flow: for loops
-
CWE: 188 Reliance on Data Memory Layout Sinks: modify_local GoodSink: Modify the second field of the struct using the field name BadSink : Attempt to modify second field in struct, assuming the first field is an int Flow Variant: 18 Control flow: goto statements
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...
-
CWE: 188 Reliance on Data Memory Layout Sinks: union GoodSink: Use mechanisms that are not dependent upon size, alignment/packing, or byte order to accomplish equivalent functionality BadSink : Modify a union member by relying on the byte-order, size, alignment/packing of struct and union fiel...