diff --git a/.gitattributes b/.gitattributes index 9a9ae0d79789e30a3ad2bf59ec4f45a01e8a6910..57cc5bc08abae8f9f73cc4677f524b541037fc63 100644 --- a/.gitattributes +++ b/.gitattributes @@ -144,6 +144,7 @@ beaengine/obj/Linux.gnu.Debug/beaengineSources/CMakeFiles/progress.marks -text examples/Makefile -text examples/dumbledore.c -text examples/dumbledore_cmd.c -text +examples/overflow1.c -text examples/test1.c -text libIRDB/Makefile -text libIRDB/include/address.hpp -text diff --git a/examples/Makefile b/examples/Makefile index 40b3f49098c5d0cbe2695815271e80d8560c2f00..517a213672732a96a62de4869d88b43953f8944c 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -6,14 +6,17 @@ LD=DO_NOT_USE .SUFFIXES: .o .c .cpp .exe #exes=dumbledore_cmd.exe test1.exe -exes=test1.exe +exes=overflow1.exe #overflow2.exe +#exes=dumbledore_cmd.exe + all: env_check ${exes} .PHONY: env_check .o.exe: - ${PEASOUP_HOME}/tools/ps_link.sh $< -o $@ +# ${PEASOUP_HOME}/tools/ps_link.sh $< -o $@ + gcc $< -o $@ ${PEASOUP_HOME}/tools/ps_analyze.sh $@ $@ .c.o: @@ -50,6 +53,8 @@ clean: rm -Rf peasoup_executable_directory.* rm -f strata.log.* rm -f *.sym + ${PEASOUP_HOME}/tools/db/drop_my_tables.sh + ${PEASOUP_HOME}/tools/db/pdb_setup.sh concclean: rm -Rf concolic.files_* diff --git a/examples/overflow1.c b/examples/overflow1.c new file mode 100644 index 0000000000000000000000000000000000000000..66ee7114b09a47d6b911e94023e1af6779dee678 --- /dev/null +++ b/examples/overflow1.c @@ -0,0 +1,24 @@ +int test_mul32_overflow(int value) +{ + printf("tests_mul32_overflow(%d): enter\n", value); + int result = value * 2000000; + printf("tests_mul32_overflow -- about to exit\n"); + return result; +} + +char *test_sign_unsign(int size) +{ + return malloc(size * 1024); +} + +int main(int argc, char **argv) +{ + printf("main(): enter\n"); + + int value = atoi(argv[1]); + printf("value_overflow=%d\n", test_mul32_overflow(value)); + + char *x = test_sign_unsign(value); + sprintf(x,"x"); + printf("x=%s\n", x); +}