From f2eed12bab08e23f4b294ae9acbd920d4774acfa Mon Sep 17 00:00:00 2001 From: Tavi Date: Sun, 15 Sep 2024 15:44:43 -0400 Subject: [PATCH] 16.0: September 2024 ASB work Signed-off-by: Tavi --- Logs/resetWorkspace-LineageOS-16.0.txt | 2 +- ...ect-negative-len-for-XML_ParseBuffer.patch | 4 +- ...b-Detect-integer-overflow-in-dtdCopy.patch | 4 +- ...er-overflow-in-function-nextScaffold.patch | 4 +- ...-opening-tag-bindings-after-closing-.patch | 8 +- .../android_frameworks_av/402601.patch | 48 ++ .../401373-backport.patch | 66 ++ .../401375-backport.patch | 28 + ...6891059-16.patch => 401376-backport.patch} | 25 +- .../401377-backport.patch | 112 +++ .../401380-backport.patch | 648 ++++++++++++++++++ Scripts/LineageOS-16.0/Patch.sh | 11 +- 12 files changed, 945 insertions(+), 15 deletions(-) create mode 100644 Patches/LineageOS-16.0/android_frameworks_av/402601.patch create mode 100644 Patches/LineageOS-16.0/android_frameworks_base/401373-backport.patch create mode 100644 Patches/LineageOS-16.0/android_packages_apps_Settings/401375-backport.patch rename Patches/LineageOS-16.0/android_packages_apps_Settings/{316891059-16.patch => 401376-backport.patch} (83%) create mode 100644 Patches/LineageOS-16.0/android_packages_apps_Settings/401377-backport.patch create mode 100644 Patches/LineageOS-16.0/android_packages_services_Telecomm/401380-backport.patch diff --git a/Logs/resetWorkspace-LineageOS-16.0.txt b/Logs/resetWorkspace-LineageOS-16.0.txt index f6d0b710..6c6fd94f 100644 --- a/Logs/resetWorkspace-LineageOS-16.0.txt +++ b/Logs/resetWorkspace-LineageOS-16.0.txt @@ -67,7 +67,7 @@ external/capstone 6788a4139092f179005f7cdbf181ba24b60b6113 external/cblas ddf5f49cb53866fbc503a6349bf44bac24a6963d external/chromium-libpac dff5ddb8d28f6ac9a86eb28763b4313f6f72eec5 external/chromium-trace b2cf025c7d5cebd43084f38c6c7ff9cc17da428a -external/chromium-webview b270aa98312408d5893ee72fcd62b4d89937ceb2 +external/chromium-webview 8400ae9b819741cd4d436cce372496426ec85fc9 external/clang f9d2af42fc6d74c28893af371e4647158eaba66c external/cmockery 9199c7bfafefea32d1884182fa655b6e4578c1c4 external/cn-cbor 7fe9f01990a97be4df5e46d2decd894c06678072 diff --git a/Patches/LineageOS-16.0/android_external_expat/0001-lib-Reject-negative-len-for-XML_ParseBuffer.patch b/Patches/LineageOS-16.0/android_external_expat/0001-lib-Reject-negative-len-for-XML_ParseBuffer.patch index f4ac8f07..c76becd8 100644 --- a/Patches/LineageOS-16.0/android_external_expat/0001-lib-Reject-negative-len-for-XML_ParseBuffer.patch +++ b/Patches/LineageOS-16.0/android_external_expat/0001-lib-Reject-negative-len-for-XML_ParseBuffer.patch @@ -9,10 +9,10 @@ Reported by TaiYou 1 file changed, 6 insertions(+) diff --git a/lib/xmlparse.c b/lib/xmlparse.c -index 074c841..f4e3d2a 100644 +index 90089ab7..3dc9673b 100644 --- a/lib/xmlparse.c +++ b/lib/xmlparse.c -@@ -1969,6 +1969,12 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal) +@@ -1965,6 +1965,12 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal) if (parser == NULL) return XML_STATUS_ERROR; diff --git a/Patches/LineageOS-16.0/android_external_expat/0002-lib-Detect-integer-overflow-in-dtdCopy.patch b/Patches/LineageOS-16.0/android_external_expat/0002-lib-Detect-integer-overflow-in-dtdCopy.patch index e5d21319..771d271d 100644 --- a/Patches/LineageOS-16.0/android_external_expat/0002-lib-Detect-integer-overflow-in-dtdCopy.patch +++ b/Patches/LineageOS-16.0/android_external_expat/0002-lib-Detect-integer-overflow-in-dtdCopy.patch @@ -9,10 +9,10 @@ Reported by TaiYou 1 file changed, 10 insertions(+) diff --git a/lib/xmlparse.c b/lib/xmlparse.c -index f4e3d2a..a6d92f4 100644 +index 3dc9673b..158cb4ea 100644 --- a/lib/xmlparse.c +++ b/lib/xmlparse.c -@@ -6639,6 +6639,16 @@ dtdCopy(XML_Parser oldParser, DTD *newDtd, const DTD *oldDtd, const XML_Memory_H +@@ -6616,6 +6616,16 @@ dtdCopy(XML_Parser oldParser, DTD *newDtd, const DTD *oldDtd, const XML_Memory_H if (!newE) return 0; if (oldE->nDefaultAtts) { diff --git a/Patches/LineageOS-16.0/android_external_expat/0003-lib-Detect-integer-overflow-in-function-nextScaffold.patch b/Patches/LineageOS-16.0/android_external_expat/0003-lib-Detect-integer-overflow-in-function-nextScaffold.patch index 3c4ef98f..e226d3a3 100644 --- a/Patches/LineageOS-16.0/android_external_expat/0003-lib-Detect-integer-overflow-in-function-nextScaffold.patch +++ b/Patches/LineageOS-16.0/android_external_expat/0003-lib-Detect-integer-overflow-in-function-nextScaffold.patch @@ -9,10 +9,10 @@ Reported by TaiYou 1 file changed, 9 insertions(+) diff --git a/lib/xmlparse.c b/lib/xmlparse.c -index a6d92f4..2f48cf1 100644 +index 158cb4ea..59b35841 100644 --- a/lib/xmlparse.c +++ b/lib/xmlparse.c -@@ -7221,6 +7221,15 @@ nextScaffoldPart(XML_Parser parser) +@@ -7199,6 +7199,15 @@ nextScaffoldPart(XML_Parser parser) int next; if (!dtd->scaffIndex) { diff --git a/Patches/LineageOS-16.0/android_external_expat/0004-lib-Stop-leaking-opening-tag-bindings-after-closing-.patch b/Patches/LineageOS-16.0/android_external_expat/0004-lib-Stop-leaking-opening-tag-bindings-after-closing-.patch index fe014844..b84ca529 100644 --- a/Patches/LineageOS-16.0/android_external_expat/0004-lib-Stop-leaking-opening-tag-bindings-after-closing-.patch +++ b/Patches/LineageOS-16.0/android_external_expat/0004-lib-Stop-leaking-opening-tag-bindings-after-closing-.patch @@ -1,4 +1,4 @@ -From 33050b14552fd7d0767bdc56fc9448323443735e Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Thu, 22 Sep 2022 16:51:17 +0200 Subject: [PATCH] lib: Stop leaking opening tag bindings after closing tag @@ -13,10 +13,10 @@ Change-Id: Ia6e29060abc733548bca1910735466c415cbd58c 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/xmlparse.c b/lib/xmlparse.c -index 2f48cf1..a891f5a 100644 +index 59b35841..008b92e9 100644 --- a/lib/xmlparse.c +++ b/lib/xmlparse.c -@@ -2962,9 +2962,6 @@ doContent(XML_Parser parser, +@@ -2939,9 +2939,6 @@ doContent(XML_Parser parser, int len; const char *rawName; TAG *tag = parser->m_tagStack; @@ -26,7 +26,7 @@ index 2f48cf1..a891f5a 100644 rawName = s + enc->minBytesPerChar*2; len = XmlNameLength(enc, rawName); if (len != tag->rawNameLength -@@ -2972,6 +2969,9 @@ doContent(XML_Parser parser, +@@ -2949,6 +2946,9 @@ doContent(XML_Parser parser, *eventPP = rawName; return XML_ERROR_TAG_MISMATCH; } diff --git a/Patches/LineageOS-16.0/android_frameworks_av/402601.patch b/Patches/LineageOS-16.0/android_frameworks_av/402601.patch new file mode 100644 index 00000000..80053086 --- /dev/null +++ b/Patches/LineageOS-16.0/android_frameworks_av/402601.patch @@ -0,0 +1,48 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Alexander Grund +Date: Tue, 27 Aug 2024 16:53:27 +0200 +Subject: [PATCH] Fix flag check in JAudioTrack.cpp + +Checking for a bitwise flag needs to use `&` not `|` as the latter will +yield a non-zero result in all (relevant) cases. + +Change-Id: Ifd2e98e7bb394c35a8a2f4ebde512046823da043 +--- + media/libmediaplayer2/JAudioTrack.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/media/libmediaplayer2/JAudioTrack.cpp b/media/libmediaplayer2/JAudioTrack.cpp +index ac0cc5775e..961d7e526e 100644 +--- a/media/libmediaplayer2/JAudioTrack.cpp ++++ b/media/libmediaplayer2/JAudioTrack.cpp +@@ -615,26 +615,26 @@ jobject JAudioTrack::createVolumeShaperOperationObj( + jBuilderObj = env->CallObjectMethod(jBuilderCls, jReplace, operation->getReplaceId(), join); + } + +- if (flags | media::VolumeShaper::Operation::FLAG_REVERSE) { ++ if (flags & media::VolumeShaper::Operation::FLAG_REVERSE) { + jmethodID jReverse = env->GetMethodID(jBuilderCls, "reverse", + "()Landroid/media/VolumeShaper$Operation$Builder;"); + jBuilderObj = env->CallObjectMethod(jBuilderCls, jReverse); + } + + // TODO: VolumeShaper Javadoc says "Do not call terminate() directly". Can we call this? +- if (flags | media::VolumeShaper::Operation::FLAG_TERMINATE) { ++ if (flags & media::VolumeShaper::Operation::FLAG_TERMINATE) { + jmethodID jTerminate = env->GetMethodID(jBuilderCls, "terminate", + "()Landroid/media/VolumeShaper$Operation$Builder;"); + jBuilderObj = env->CallObjectMethod(jBuilderCls, jTerminate); + } + +- if (flags | media::VolumeShaper::Operation::FLAG_DELAY) { ++ if (flags & media::VolumeShaper::Operation::FLAG_DELAY) { + jmethodID jDefer = env->GetMethodID(jBuilderCls, "defer", + "()Landroid/media/VolumeShaper$Operation$Builder;"); + jBuilderObj = env->CallObjectMethod(jBuilderCls, jDefer); + } + +- if (flags | media::VolumeShaper::Operation::FLAG_CREATE_IF_NECESSARY) { ++ if (flags & media::VolumeShaper::Operation::FLAG_CREATE_IF_NECESSARY) { + jmethodID jCreateIfNeeded = env->GetMethodID(jBuilderCls, "createIfNeeded", + "()Landroid/media/VolumeShaper$Operation$Builder;"); + jBuilderObj = env->CallObjectMethod(jBuilderCls, jCreateIfNeeded); diff --git a/Patches/LineageOS-16.0/android_frameworks_base/401373-backport.patch b/Patches/LineageOS-16.0/android_frameworks_base/401373-backport.patch new file mode 100644 index 00000000..765700b8 --- /dev/null +++ b/Patches/LineageOS-16.0/android_frameworks_base/401373-backport.patch @@ -0,0 +1,66 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Kiran Ramachandra +Date: Wed, 5 Jun 2024 21:03:33 +0000 +Subject: [PATCH] DO NOT MERGE Ignore - Sanitized uri scheme by removing scheme + delimiter + +Initially considered removing unsupported characters as per IANA guidelines, but this could break applications that use custom schemes with asterisks. Instead, opted to remove only the "://" to minimize disruption + +Bug: 261721900 +Test: atest FrameworksCoreTests:android.net.UriTest + +No-Typo-Check: The unit test is specifically written to test few cases, string "http://https://" is not a typo +(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:1fd0421801c391dd619cafeeea8d379a9029074a) +Merged-In: I88b1550a5d8b3dc0f6286e28899884025d059645 +Change-Id: I88b1550a5d8b3dc0f6286e28899884025d059645 +--- + core/java/android/net/Uri.java | 6 +++++- + core/tests/coretests/src/android/net/UriTest.java | 11 +++++++++++ + 2 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java +index af1c0e8e9178..d0fcc4240fd9 100644 +--- a/core/java/android/net/Uri.java ++++ b/core/java/android/net/Uri.java +@@ -1365,7 +1365,11 @@ public abstract class Uri implements Parcelable, Comparable { + * @param scheme name or {@code null} if this is a relative Uri + */ + public Builder scheme(String scheme) { +- this.scheme = scheme; ++ if (scheme != null) { ++ this.scheme = scheme.replace("://", ""); ++ } else { ++ this.scheme = null; ++ } + return this; + } + +diff --git a/core/tests/coretests/src/android/net/UriTest.java b/core/tests/coretests/src/android/net/UriTest.java +index ea0347d67ad7..6c9fdd5a83a7 100644 +--- a/core/tests/coretests/src/android/net/UriTest.java ++++ b/core/tests/coretests/src/android/net/UriTest.java +@@ -18,6 +18,7 @@ package android.net; + + import android.content.ContentUris; + import android.os.Parcel; ++import android.platform.test.annotations.AsbSecurityTest; + import android.test.suitebuilder.annotation.SmallTest; + + import junit.framework.TestCase; +@@ -83,6 +84,16 @@ public class UriTest extends TestCase { + assertNull(u.getHost()); + } + ++ @AsbSecurityTest(cveBugId = 261721900) ++ @SmallTest ++ public void testSchemeSanitization() { ++ Uri uri = new Uri.Builder() ++ .scheme("http://https://evil.com:/te:st/") ++ .authority("google.com").path("one/way").build(); ++ assertEquals("httphttpsevil.com:/te:st/", uri.getScheme()); ++ assertEquals("httphttpsevil.com:/te:st/://google.com/one/way", uri.toString()); ++ } ++ + @SmallTest + public void testStringUri() { + assertEquals("bob lee", diff --git a/Patches/LineageOS-16.0/android_packages_apps_Settings/401375-backport.patch b/Patches/LineageOS-16.0/android_packages_apps_Settings/401375-backport.patch new file mode 100644 index 00000000..7ad75dec --- /dev/null +++ b/Patches/LineageOS-16.0/android_packages_apps_Settings/401375-backport.patch @@ -0,0 +1,28 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Chaohui Wang +Date: Thu, 2 Nov 2023 11:43:00 +0800 +Subject: [PATCH] Limit wifi item edit content's max length to 500 + +Bug: 293199910 +Test: manual - on "Add network" + +(cherry picked from commit 855053ca4124f2d515b21c469096f8c18bd4829d) +(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:092668676af741719d50ac0f121a8f8461aa21ad) +Merged-In: I303b8c6e0f3c3a1174a047ba98f302042e5db9ae +Change-Id: I303b8c6e0f3c3a1174a047ba98f302042e5db9ae +--- + res/values/styles.xml | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/res/values/styles.xml b/res/values/styles.xml +index f82d0e5e854..b13bc4fb32b 100644 +--- a/res/values/styles.xml ++++ b/res/values/styles.xml +@@ -221,6 +221,7 @@ + 18sp + viewStart + @dimen/min_tap_target_size ++ 500 + + +