Merge "Handle invalid destination address gracefully" into oc-dr1-dev
am: 93ea43386e
Change-Id: I0e36a295ca481bb5c9b0fc77cb0d2e56d9cbfd0c
This commit is contained in:
@@ -278,6 +278,10 @@ public class SmsMessage extends SmsMessageBase {
|
|||||||
scAddress, destinationAddress, mtiByte,
|
scAddress, destinationAddress, mtiByte,
|
||||||
statusReportRequested, ret);
|
statusReportRequested, ret);
|
||||||
|
|
||||||
|
// Skip encoding pdu if error occurs when create pdu head and the error will be handled
|
||||||
|
// properly later on encodedMessage sanity check.
|
||||||
|
if (bo == null) return ret;
|
||||||
|
|
||||||
// User Data (and length)
|
// User Data (and length)
|
||||||
byte[] userData;
|
byte[] userData;
|
||||||
try {
|
try {
|
||||||
@@ -420,6 +424,9 @@ public class SmsMessage extends SmsMessageBase {
|
|||||||
scAddress, destinationAddress, (byte) 0x41, // MTI = SMS-SUBMIT,
|
scAddress, destinationAddress, (byte) 0x41, // MTI = SMS-SUBMIT,
|
||||||
// TP-UDHI = true
|
// TP-UDHI = true
|
||||||
statusReportRequested, ret);
|
statusReportRequested, ret);
|
||||||
|
// Skip encoding pdu if error occurs when create pdu head and the error will be handled
|
||||||
|
// properly later on encodedMessage sanity check.
|
||||||
|
if (bo == null) return ret;
|
||||||
|
|
||||||
// TP-Data-Coding-Scheme
|
// TP-Data-Coding-Scheme
|
||||||
// No class, 8 bit data
|
// No class, 8 bit data
|
||||||
@@ -451,7 +458,7 @@ public class SmsMessage extends SmsMessageBase {
|
|||||||
* @param destinationAddress the address of the destination for the message
|
* @param destinationAddress the address of the destination for the message
|
||||||
* @param mtiByte
|
* @param mtiByte
|
||||||
* @param ret <code>SubmitPdu</code> containing the encoded SC
|
* @param ret <code>SubmitPdu</code> containing the encoded SC
|
||||||
* address, if applicable, and the encoded message
|
* address, if applicable, and the encoded message. Returns null on encode error.
|
||||||
*/
|
*/
|
||||||
private static ByteArrayOutputStream getSubmitPduHead(
|
private static ByteArrayOutputStream getSubmitPduHead(
|
||||||
String scAddress, String destinationAddress, byte mtiByte,
|
String scAddress, String destinationAddress, byte mtiByte,
|
||||||
@@ -482,6 +489,9 @@ public class SmsMessage extends SmsMessageBase {
|
|||||||
|
|
||||||
daBytes = PhoneNumberUtils.networkPortionToCalledPartyBCD(destinationAddress);
|
daBytes = PhoneNumberUtils.networkPortionToCalledPartyBCD(destinationAddress);
|
||||||
|
|
||||||
|
// return empty pduHead for invalid destination address
|
||||||
|
if (daBytes == null) return null;
|
||||||
|
|
||||||
// destination address length in BCD digits, ignoring TON byte and pad
|
// destination address length in BCD digits, ignoring TON byte and pad
|
||||||
// TODO Should be better.
|
// TODO Should be better.
|
||||||
bo.write((daBytes.length - 1) * 2
|
bo.write((daBytes.length - 1) * 2
|
||||||
|
|||||||
Reference in New Issue
Block a user