From 1e4afe071ddca3283f3f9ffe79fbcebb16354864 Mon Sep 17 00:00:00 2001 From: Chalard Jean Date: Wed, 12 Oct 2022 16:15:13 +0900 Subject: [PATCH] Fix an infinite loop If the top bit is set, then >>= propagates it. That means |bitmask| is never 0, and this is an infinite loop. A followup will move this method to frameworks/libs/net and add tests for it. Test: FrameworksNetTests Change-Id: I28a0a74be41f6f29b796b1c76e404ecc21f810c6 --- framework/src/android/net/NetworkCapabilities.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/android/net/NetworkCapabilities.java b/framework/src/android/net/NetworkCapabilities.java index ea8a3dfaef..1ad3b9ff53 100644 --- a/framework/src/android/net/NetworkCapabilities.java +++ b/framework/src/android/net/NetworkCapabilities.java @@ -2308,7 +2308,7 @@ public final class NetworkCapabilities implements Parcelable { } sb.append(nameFetcher.nameOf(bitPos)); } - bitMask >>= 1; + bitMask >>>= 1; ++bitPos; } }