summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Hudson <nick.hudson@isode.com>2013-12-03 17:04:06 (GMT)
committerNick Hudson <nick.hudson@isode.com>2013-12-05 11:10:20 (GMT)
commit2a1c515b337bde1ad4a95888902cd7c9a8ef1aab (patch)
tree350566fe99fc8dd1f55ce7ff293d3ae8569b7fcc
parent82a909b9ff8af20bc5674b3e544dfd81330354d4 (diff)
downloadstroke-2a1c515b337bde1ad4a95888902cd7c9a8ef1aab.zip
stroke-2a1c515b337bde1ad4a95888902cd7c9a8ef1aab.tar.bz2
Fix possible ClassCastException when restricting ciphers
Old code was casting Object[] to String[], which may be safe, but is dependant on the Set's internal implementation of toArray, and may lead to ClassCastExceptions. We now preallocate a String[] to avoid the cast and force type safety for any implementation. Test-information: Was crashing when enabling restricted ciphers on Android. Now works OK. Change-Id: I759a369449296f1819e91a25aa123b083ec280c9 Signed-off-by: Nick Hudson <nick.hudson@isode.com>
-rw-r--r--src/com/isode/stroke/tls/java/JSSEContext.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/com/isode/stroke/tls/java/JSSEContext.java b/src/com/isode/stroke/tls/java/JSSEContext.java
index 77b9447..2928498 100644
--- a/src/com/isode/stroke/tls/java/JSSEContext.java
+++ b/src/com/isode/stroke/tls/java/JSSEContext.java
@@ -163,7 +163,7 @@ public class JSSEContext extends TLSContext {
}
String[] suitesToEnable = new String[]{};
if (!matchedSuites.isEmpty()) {
- suitesToEnable = (String[])matchedSuites.toArray();
+ suitesToEnable = matchedSuites.toArray(new String[matchedSuites.size()]);
}
sslEngine.setEnabledCipherSuites(suitesToEnable);