Creating test case using base program. Added an environment variable read to the function definition. Completed injection. TRUE UNSPECIFIED UNSPECIFIED $SS_TC_ROOT/$SS_TC_INSTALL/bin/postgres -p 8432 ./configure --prefix="$SS_TC_ROOT/$SS_TC_INSTALL" --with-pgport=8432 --with-libraries="$SS_TC_DEPS/lib" --with-includes="$SS_TC_DEPS/include" --with-openssl --with-libxml --with-libxslt --without-selinux --with-readline --without-tcl --without-perl --without-python --without-gssapi --without-pam --without-krb5 --with-ldap --without-bonjour --with-zlib --disable-thread-safety make CC="$SS_CC" CCLD="$SS_LNK" make install CC="$SS_CC" CCLD="$SS_LNK" initalize a database Has a fixed heap buffer of size 64, allocated within a struct (char [64]) 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 sudo -E -u postgres $SS_TC_ROOT/$SS_TC_INSTALL/bin/initdb $SS_TC_ROOT/testData/good-01/psqldb (UTF8 OR ASCII) AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-01/good-01-UTF8.out good-01/good-01-ASCII.out DOES_NOT_RETURN CONTROLLED_EXIT perform a select Has a fixed heap buffer of size 64, allocated within a struct (char [64]) NONE Hellow world! $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -D $SS_TC_ROOT/testData/good-02/psql GOOD-02 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-02/good-02.out DOES_NOT_RETURN CONTROLLED_EXIT perform an insert Has a fixed heap buffer of size 64, allocated within a struct (char [64]) NONE Good-bye cruel world! $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -D $SS_TC_ROOT/testData/good-03/psql GOOD-03 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-03/good-03.out DOES_NOT_RETURN CONTROLLED_EXIT perform a create Has a fixed heap buffer of size 64, allocated within a struct (char [64]) 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 $SS_TC_ROOT/testData/good-04/psql GOOD-04 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-04/good-04.out DOES_NOT_RETURN CONTROLLED_EXIT perform a delete Has a fixed heap buffer of size 64, allocated within a struct (char [64]) NONE Hellow world! $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -D $SS_TC_ROOT/testData/good-05/psql GOOD-05 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-05/good-05.out DOES_NOT_RETURN CONTROLLED_EXIT perform a drop Has a fixed heap buffer of size 64, allocated within a struct (char [64]) NONE Good-bye cruel world! $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -D $SS_TC_ROOT/testData/good-06/psql GOOD-06 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-06/good-06.out DOES_NOT_RETURN CONTROLLED_EXIT import a .sql file Has a fixed heap buffer of size 64, allocated within a struct (char [64]) 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 $SS_TC_ROOT/testData/good-07/psql GOOD-07 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-07/good-07.out DOES_NOT_RETURN CONTROLLED_EXIT perform an alter Has a fixed heap buffer of size 64, allocated within a struct (char [64]) NONE Hellow world! $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -D $SS_TC_ROOT/testData/good-08/psql GOOD-08 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-08/good-08.out DOES_NOT_RETURN CONTROLLED_EXIT see who's logged in Has a fixed heap buffer of size 64, allocated within a struct (char [64]) NONE Good-bye cruel world! $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -D $SS_TC_ROOT/testData/good-09/psql GOOD-09 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT \s*booktown\s*\|\s*root\s*\|\s*([0-9]{1,3}\.){3}[0-9]{1,3}\s* DOES_NOT_RETURN CONTROLLED_EXIT perform a select using LIKE Has a fixed heap buffer of size 64, allocated within a struct (char [64]) 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 $SS_TC_ROOT/testData/good-10/psql GOOD-10 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-10/good-10.out DOES_NOT_RETURN CONTROLLED_EXIT Has a fixed heap buffer of size 64, allocated within a struct (char [64]) DOS_UNCONTROLLED_EXIT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -D $SS_TC_ROOT/testData/good-07/psql weakness_started_6SFvCtYvdS0r9GcYooNS AND ((NOT PERFORMER AND (segfault_code_O6FXWOTyB2 OR segfault_code_jpLgmMARvp OR segfault_code_cpllpAz0b2 OR segfault_code_sYGZFXvewS OR segfault_code_oQeGypEOUg OR segfault_code_cR525G2iOd OR segfault_msg_D1GK5tPWmY OR illegal_inst_msg_GPWLjKBeHM) AND NOT timeout_nsyJEX8ioi) or (PERFORMER AND NOT ((segfault_code_O6FXWOTyB2 OR segfault_code_jpLgmMARvp OR segfault_code_cpllpAz0b2 OR segfault_code_sYGZFXvewS OR segfault_code_oQeGypEOUg OR segfault_code_cR525G2iOd OR segfault_msg_D1GK5tPWmY OR illegal_inst_msg_GPWLjKBeHM) OR timeout_nsyJEX8ioi OR controlled_exit_gKKqNCPZmF))) (NOT PERFORMER AND (segfault_code_O6FXWOTyB2 OR segfault_code_jpLgmMARvp OR segfault_code_cpllpAz0b2 OR segfault_code_sYGZFXvewS OR segfault_code_oQeGypEOUg OR segfault_code_cR525G2iOd OR segfault_msg_D1GK5tPWmY OR illegal_inst_msg_GPWLjKBeHM) AND NOT timeout_nsyJEX8ioi) or (PERFORMER AND NOT ((segfault_code_O6FXWOTyB2 OR segfault_code_jpLgmMARvp OR segfault_code_cpllpAz0b2 OR segfault_code_sYGZFXvewS OR segfault_code_oQeGypEOUg OR segfault_code_cR525G2iOd OR segfault_msg_D1GK5tPWmY OR illegal_inst_msg_GPWLjKBeHM) OR timeout_nsyJEX8ioi OR controlled_exit_gKKqNCPZmF)) DOES_NOT_RETURN CONTROLLED_EXIT CONTINUED_EXECUTION None 132 None 134 None 135 None 136 None 139 None 1 None Segmentation fault None Illegal instruction None stonesoup_trace:weakness_start Has a fixed heap buffer of size 64, allocated within a struct (char [64]) DOS_UNCONTROLLED_EXIT This is probably going to overflow a buffer of some sort. Let's run it anyway and see what happens. I hope that everything turns out ok, because I would love to see what this looks like in all CAPS. Converting ASCII characters to upper case is easy, you can either call a system function, or just add the standard difference between the start of the two character sets. But, I am sure there is a reason that system functions exist for this sort of functionality. $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-c.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so 0 -D $SS_TC_ROOT/testData/good-03/psql weakness_started_fgCHdqLAkJyhu8ZRMgRU AND ((NOT PERFORMER AND (segfault_code_A5glQK0YCu OR segfault_code_IvwOFuGAQ2 OR segfault_code_42KtJJg87j OR segfault_code_G9bS0uQZu5 OR segfault_code_RSPro93yL0 OR segfault_code_aB7vLZhJSc OR segfault_msg_3jGySQs92H OR illegal_inst_msg_ht6KiIgR4B) AND NOT timeout_Lo28SaJscA) or (PERFORMER AND NOT ((segfault_code_A5glQK0YCu OR segfault_code_IvwOFuGAQ2 OR segfault_code_42KtJJg87j OR segfault_code_G9bS0uQZu5 OR segfault_code_RSPro93yL0 OR segfault_code_aB7vLZhJSc OR segfault_msg_3jGySQs92H OR illegal_inst_msg_ht6KiIgR4B) OR timeout_Lo28SaJscA OR controlled_exit_qsKx4b3KN6))) (NOT PERFORMER AND (segfault_code_A5glQK0YCu OR segfault_code_IvwOFuGAQ2 OR segfault_code_42KtJJg87j OR segfault_code_G9bS0uQZu5 OR segfault_code_RSPro93yL0 OR segfault_code_aB7vLZhJSc OR segfault_msg_3jGySQs92H OR illegal_inst_msg_ht6KiIgR4B) AND NOT timeout_Lo28SaJscA) or (PERFORMER AND NOT ((segfault_code_A5glQK0YCu OR segfault_code_IvwOFuGAQ2 OR segfault_code_42KtJJg87j OR segfault_code_G9bS0uQZu5 OR segfault_code_RSPro93yL0 OR segfault_code_aB7vLZhJSc OR segfault_msg_3jGySQs92H OR illegal_inst_msg_ht6KiIgR4B) OR timeout_Lo28SaJscA OR controlled_exit_qsKx4b3KN6)) DOES_NOT_RETURN CONTROLLED_EXIT CONTINUED_EXECUTION None 132 None 134 None 135 None 136 None 139 None 1 None Segmentation fault None Illegal instruction None stonesoup_trace:weakness_start