Creating test case using base program. Added an environment variable read to the function definition. Completed injection. UNSPECIFIED UNSPECIFIED $SS_TC_ROOT/$SS_TC_INSTALL/bin/grep ./configure --prefix="$SS_TC_ROOT/$SS_TC_INSTALL" --exec-prefix="$SS_TC_ROOT/$SS_TC_INSTALL" --with-included-regex make V=1 CC="$SS_CC" CCLD="$SS_LNK" make V=1 install CC="$SS_CC" CCLD="$SS_LNK" all words beginning with e or x, case sensitive Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. NONE AAA $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 ^[ex] input/dict.txt STDOUT-01 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-01/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT find BIRMINGHAM, ignore case, recursive Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. NONE This is not a number $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -r -i BIRMINGHAM input/zip/ STDOUT-02 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-02/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT read extented regular expressions from file Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. NONE not a number not a number not a number $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -E -f input/grep-good-03-expr.txt input/mktsymbols.txt STDOUT-03 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-03/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT search for entire words matching a specific pattern Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. NONE AAA $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -w -f input/grep-good-04-expr.txt input/mktsymbols.txt STDOUT-04 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-04/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT use mmap(), find NASDAQ in file Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. NONE This is not a number $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 --mmap NASDAQ input/mktsymbols.txt STDOUT-05 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-05/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT match lines not containing NASDAQ, ignore case, count Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. NONE not a number not a number not a number $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -v -i -c NASDAQ input/mktsymbols.txt STDOUT-06 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-06/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT grep stdin (a device), match words beginning w/ D, P, or Z, redirect file into stdin Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. NONE AAA $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -D read -e ^[DPZ] /dev/stdin < input/mktsymbols.txt STDOUT-07 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-07/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT extended grep, print number of lines of context Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. NONE This is not a number $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -E -C 15 ^[BRT] input/mktsymbols.txt STDOUT-08 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-08/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT lines not beginning w/ B, R or T Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. NONE not a number not a number not a number $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -v ^[BRT] input/mktsymbols.txt STDOUT-09 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-09/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT count lines not beginning w/ B, R or T Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. NONE AAA $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -c -v ^[BRT] input/mktsymbols.txt STDOUT-10 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-10/std-out.txt DOES_NOT_RETURN CONTROLLED_EXIT Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. DOS_UNCONTROLLED_EXIT 012 $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -r -i BIRMINGHAM input/zip/ weakness_started_us61eGzvOzxvn3Pig3Wh AND ((NOT PERFORMER AND (segfault_code_Ml3KGeh96V OR segfault_code_41JOkB8Uh3 OR segfault_code_JtX6Ld7iGW OR segfault_code_q5k9WPgTaD OR segfault_code_WdXfxFVGdV OR segfault_msg_3RXTj25XwU OR illegal_inst_msg_sf1k5sIbym) AND NOT timeout_o8nwhPY7yN) or (PERFORMER AND NOT ((segfault_code_Ml3KGeh96V OR segfault_code_41JOkB8Uh3 OR segfault_code_JtX6Ld7iGW OR segfault_code_q5k9WPgTaD OR segfault_code_WdXfxFVGdV OR segfault_msg_3RXTj25XwU OR illegal_inst_msg_sf1k5sIbym) OR timeout_o8nwhPY7yN))) (NOT PERFORMER AND (segfault_code_Ml3KGeh96V OR segfault_code_41JOkB8Uh3 OR segfault_code_JtX6Ld7iGW OR segfault_code_q5k9WPgTaD OR segfault_code_WdXfxFVGdV OR segfault_msg_3RXTj25XwU OR illegal_inst_msg_sf1k5sIbym) AND NOT timeout_o8nwhPY7yN) or (PERFORMER AND NOT ((segfault_code_Ml3KGeh96V OR segfault_code_41JOkB8Uh3 OR segfault_code_JtX6Ld7iGW OR segfault_code_q5k9WPgTaD OR segfault_code_WdXfxFVGdV OR segfault_msg_3RXTj25XwU OR illegal_inst_msg_sf1k5sIbym) OR timeout_o8nwhPY7yN)) DOES_NOT_RETURN CONTROLLED_EXIT CONTINUED_EXECUTION None 132 None 134 None 135 None 136 None 139 None Segmentation fault None Illegal instruction None stonesoup_trace:weakness_start Creates a union that can be either an int or a char *. If input is a non-zero number, set union to that number, else set union to the input string. Try to access the union as a string, regardless of how it is set. Seg fault if the input is a non-zero number. DOS_UNCONTROLLED_EXIT 40000 $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 --mmap NASDAQ input/mktsymbols.txt weakness_started_4h5wCsU7l5NRVURVJJfc AND ((NOT PERFORMER AND (segfault_code_DfjUfNOyJJ OR segfault_code_p379Rg8Xr2 OR segfault_code_kILGcQsaTt OR segfault_code_rYidecSpqh OR segfault_code_4B9CJq2s0K OR segfault_msg_2Rx53SqYy9 OR illegal_inst_msg_WJsUeqAJ1k) AND NOT timeout_isENRVWqSz) or (PERFORMER AND NOT ((segfault_code_DfjUfNOyJJ OR segfault_code_p379Rg8Xr2 OR segfault_code_kILGcQsaTt OR segfault_code_rYidecSpqh OR segfault_code_4B9CJq2s0K OR segfault_msg_2Rx53SqYy9 OR illegal_inst_msg_WJsUeqAJ1k) OR timeout_isENRVWqSz))) (NOT PERFORMER AND (segfault_code_DfjUfNOyJJ OR segfault_code_p379Rg8Xr2 OR segfault_code_kILGcQsaTt OR segfault_code_rYidecSpqh OR segfault_code_4B9CJq2s0K OR segfault_msg_2Rx53SqYy9 OR illegal_inst_msg_WJsUeqAJ1k) AND NOT timeout_isENRVWqSz) or (PERFORMER AND NOT ((segfault_code_DfjUfNOyJJ OR segfault_code_p379Rg8Xr2 OR segfault_code_kILGcQsaTt OR segfault_code_rYidecSpqh OR segfault_code_4B9CJq2s0K OR segfault_msg_2Rx53SqYy9 OR illegal_inst_msg_WJsUeqAJ1k) OR timeout_isENRVWqSz)) DOES_NOT_RETURN CONTROLLED_EXIT CONTINUED_EXECUTION None 132 None 134 None 135 None 136 None 139 None Segmentation fault None Illegal instruction None stonesoup_trace:weakness_start