diff --git a/src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerModificationFactory.java b/src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerModificationFactory.java index 3d316c97..abb2c80e 100644 --- a/src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerModificationFactory.java +++ b/src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerModificationFactory.java @@ -102,7 +102,12 @@ public static VariableModification explicitValueFromFile(int value) public BigInteger modify(BigInteger oldVal) { if (value == null) { System.out.println("Enter new value for BigInt: "); - value = new Scanner(System.in).nextBigInteger(); + Scanner scanner = new Scanner(System.in); + try { + value = scanner.nextBigInteger(); + } finally { + scanner.close(); + } } return value; } diff --git a/src/main/java/de/rub/nds/modifiablevariable/util/ModifiableVariableAnalyzer.java b/src/main/java/de/rub/nds/modifiablevariable/util/ModifiableVariableAnalyzer.java index 2329b4a7..2ceead42 100644 --- a/src/main/java/de/rub/nds/modifiablevariable/util/ModifiableVariableAnalyzer.java +++ b/src/main/java/de/rub/nds/modifiablevariable/util/ModifiableVariableAnalyzer.java @@ -97,8 +97,9 @@ public static List getAllModifiableVariableHolders Object possibleHolder = f.get(object); if (possibleHolder != null && holdsVariable != null) { if (possibleHolder instanceof List) { - holders.addAll( - getAllModifiableVariableHoldersFromList((List) possibleHolder)); + @SuppressWarnings("unchecked") + List castedList = List.class.cast(possibleHolder); + holders.addAll(getAllModifiableVariableHoldersFromList(castedList)); } else if (possibleHolder.getClass().isArray()) { holders.addAll( getAllModifiableVariableHoldersFromArray( diff --git a/src/main/java/de/rub/nds/modifiablevariable/util/ModifiableVariableField.java b/src/main/java/de/rub/nds/modifiablevariable/util/ModifiableVariableField.java index 6d2af458..a6946731 100644 --- a/src/main/java/de/rub/nds/modifiablevariable/util/ModifiableVariableField.java +++ b/src/main/java/de/rub/nds/modifiablevariable/util/ModifiableVariableField.java @@ -40,9 +40,9 @@ public void setField(Field field) { this.field = field; } - public ModifiableVariable getModifiableVariable() + public ModifiableVariable getModifiableVariable() throws IllegalArgumentException, IllegalAccessException { field.setAccessible(true); - return (ModifiableVariable) field.get(object); + return (ModifiableVariable) field.get(object); } } diff --git a/src/test/java/de/rub/nds/modifiablevariable/util/ModifiableVariableAnalyzerTest.java b/src/test/java/de/rub/nds/modifiablevariable/util/ModifiableVariableAnalyzerTest.java index 732f42d7..b0d78ea7 100644 --- a/src/test/java/de/rub/nds/modifiablevariable/util/ModifiableVariableAnalyzerTest.java +++ b/src/test/java/de/rub/nds/modifiablevariable/util/ModifiableVariableAnalyzerTest.java @@ -110,17 +110,32 @@ private boolean containsFieldName(String name, List list) { } private static class SimpleClassWithModVariables { + @SuppressWarnings("unused") Integer x; + + @SuppressWarnings("unused") ModifiableBigInteger bi; + + @SuppressWarnings("unused") ModifiableByteArray array; + + @SuppressWarnings("unused") ModifiableInteger i; + @HoldsModifiableVariable SimpleClassWithModVariables test; } private static class SimpleClassWithModVariablesList { + @SuppressWarnings("unused") Integer x; + + @SuppressWarnings("unused") ModifiableBigInteger bi; + + @SuppressWarnings("unused") ModifiableByteArray array; + + @SuppressWarnings("unused") ModifiableInteger i; @HoldsModifiableVariable SimpleClassWithModVariables test;