This test case implements two threads that each use a separate mutex lock object while accessing a shared resource. The test case takes a control integer, the names of two control files, and an input string. The control integer and the two control files are used for timing within the test case to ensure that the test case follows an exploiting or benign execution path, and the input string is used as shared data for the threads to act upon. When executing, the test case spawns two threads, one of which calculates a divisor based on the input string, and the other of which uses that divisor to divide each character in the string. If the divisor is calculated to be 0 and the second thread uses this value before it is san itized the test case segfault with a divide by zero error.
- Base program: Subversion
- Source Taint: SOCKET
- Data Type: STRUCT
- Data Flow: ADDRESS_AS_CONSTANT
- Control Flow: RECURSIVE
Have any comments on this test case? Please, send us an email.