diff options
author | Jayachandran C <jayachandranc@google.com> | 2021-06-25 18:07:54 -0700 |
---|---|---|
committer | Jayachandran C <jayachandranc@google.com> | 2021-06-28 19:19:34 -0700 |
commit | bd4bd964f442a41bbbfbf3604c0c9f7f0d467871 (patch) | |
tree | 4e911ec468219fd77f2bf4e722af66f154d19ffa | |
parent | f4ecf18a39ad021f12deb22d53bad7206fe0213a (diff) |
QOS: Check for portRange validity before filter matching
Bug: 191810683
Test: Manual
atest com.android.internal.telephony.dataconnection.QosCallbackTrackerTest
Change-Id: Iaad16f7efe4bfaea3abd296547b5c53426a29854
-rw-r--r-- | telephony/java/android/telephony/data/QosBearerFilter.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/data/QosBearerFilter.java b/telephony/java/android/telephony/data/QosBearerFilter.java index 5642549d7313..54930d0266b7 100644 --- a/telephony/java/android/telephony/data/QosBearerFilter.java +++ b/telephony/java/android/telephony/data/QosBearerFilter.java @@ -57,6 +57,12 @@ public final class QosBearerFilter implements Parcelable { public static final int QOS_PROTOCOL_UDP = android.hardware.radio.V1_6.QosProtocol.UDP; public static final int QOS_PROTOCOL_ESP = android.hardware.radio.V1_6.QosProtocol.ESP; public static final int QOS_PROTOCOL_AH = android.hardware.radio.V1_6.QosProtocol.AH; + public static final int QOS_MIN_PORT = android.hardware.radio.V1_6.QosPortRange.MIN; + /** + * Hardcoded inplace of android.hardware.radio.V1_6.QosPortRange.MAX as it + * returns -1 due to uint16_t to int conversion in java. (TODO: Fix the HAL) + */ + public static final int QOS_MAX_PORT = 65535; // android.hardware.radio.V1_6.QosPortRange.MIN; @QosProtocol private int protocol; @@ -229,6 +235,12 @@ public final class QosBearerFilter implements Parcelable { return end; } + public boolean isValid() { + return start >= QOS_MIN_PORT && start <= QOS_MAX_PORT + && end >= QOS_MIN_PORT && end <= QOS_MAX_PORT + && start <= end; + } + @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(start); |