diff options
author | Feideus <erwan.ulrich@gmail.com> | 2018-09-19 11:33:40 +0200 |
---|---|---|
committer | Feideus <erwan.ulrich@gmail.com> | 2018-09-19 11:33:40 +0200 |
commit | f52f449f90e98e8fe50b29f94fe343ca245a12bc (patch) | |
tree | 096badf185e8bd101ed37ee64458d6f93ad0965d | |
parent | ec02a75317db983960d066606a552da6bd4e06a2 (diff) | |
download | schemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.tar.gz schemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.tar.bz2 schemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.zip |
Adding full reverting mech
-rwxr-xr-x | CommandeSchemaSpy.sh | 2 | ||||
-rwxr-xr-x | src/main/java/org/schemaspy/DBFuzzer.java | 19 | ||||
-rwxr-xr-x | stackTraceCParser.sh | 2 |
3 files changed, 20 insertions, 3 deletions
diff --git a/CommandeSchemaSpy.sh b/CommandeSchemaSpy.sh index 48d6528..7142d15 100755 --- a/CommandeSchemaSpy.sh +++ b/CommandeSchemaSpy.sh @@ -1 +1 @@ -java -jar target/schemaspy-6.0.0-rc2.jar -t pgsql -db sample_database2 -hostOptionalPort 127.0.0.1 -o sample_database/result_from_exec -dp postgresql-42.2.2.jar -u $USER -p $USER +java -jar target/schemaspy-6.0.0-rc2.jar -t pgsql -db sample_database2 -hostOptionalPort 127.0.0.1 -o sample_database/result_from_exec -dp postgresql-42.2.2.jar -u feideus -p feideus -mx 10 --target test_c_crash.exe diff --git a/src/main/java/org/schemaspy/DBFuzzer.java b/src/main/java/org/schemaspy/DBFuzzer.java index 26839ec..64ca58e 100755 --- a/src/main/java/org/schemaspy/DBFuzzer.java +++ b/src/main/java/org/schemaspy/DBFuzzer.java @@ -12,6 +12,7 @@ import org.schemaspy.model.Table; import org.schemaspy.model.GenericTree; import org.schemaspy.model.GenericTreeNode; import org.schemaspy.service.DatabaseService; +import org.schemaspy.service.SqlService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; @@ -253,7 +254,8 @@ public class DBFuzzer } } } - System.out.println("ending process"); + boolean tmp = revertToOriginalDatabaseState(mutationTree); + System.out.println(" reverting to original state ended up in "+tmp+"ending process"); return returnStatus; } @@ -469,6 +471,21 @@ public class DBFuzzer } } + public boolean revertToOriginalDatabaseState(GenericTree mutationTree) + { + int max = mutationTree.getLastId(); + boolean res= true; + int tmp; + + for (int i = max; i > 0; i--) + { + tmp = mutationTree.find(i).undo(analyzer.getSqlService(),analyzer.getDb(),mutationTree); + if(tmp == 0) + res = false; + } + return res; + } + public int nextId() { return mutationTree.getLastId()+1; diff --git a/stackTraceCParser.sh b/stackTraceCParser.sh index f7f8fb6..7f9258a 100755 --- a/stackTraceCParser.sh +++ b/stackTraceCParser.sh @@ -16,7 +16,7 @@ echo "saving result in : "$binaryWithoutExtention; ulimit -c 9999 echo "--------------------------" -./$1 -c $3 ## -c SHOULD BE IN THE JAVA CODE AS A NESTED ARGUMENT. This is for manual testing +./$1 ## -c $3 -c SHOULD BE IN THE JAVA CODE AS A NESTED ARGUMENT. This is for manual testing echo "--------------------------" checkCoreGen=`ls | grep core`; |