make writeIMSI() safe against invalid length
diff --git a/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java b/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java
index bdfe44a..32bbe99 100755
--- a/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java
+++ b/sim-applet/src/org/osmocom/IMSIPseudo/IMSIPseudo.java
@@ -243,8 +243,10 @@
return IMSI;
}
- private void writeIMSI(byte mi[])
+ private void writeIMSI(byte mi[]) throws Exception
{
+ if (mi.length != 9)
+ throw new Exception();
gsmFile.select((short) SIMView.FID_DF_GSM);
gsmFile.select((short) SIMView.FID_EF_IMSI);
gsmFile.updateBinary((short)0, mi, (short)0, (short)mi.length);