From fbe819d6d8f9ce8a5150119bd6e4edd0e5336724 Mon Sep 17 00:00:00 2001 From: Enginex0 Date: Tue, 19 May 2026 05:35:28 +0100 Subject: [PATCH] fix(spoof): serialize concurrent applyToProps calls applyToProps reaches Runtime.exec("resetprop", name, value) twice per call, once for system and once for vendor. Boot-time initialize, BulletinPoller's handler thread, and the PifObserver inotify thread can all reach applyToProps independently. Two concurrent invocations for different dates could interleave such that system and vendor end up with mismatched values. Synchronize on the singleton so each apply runs to completion before the next begins. --- .../java/org/matrix/TEESimulator/config/PatchLevelManager.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/org/matrix/TEESimulator/config/PatchLevelManager.kt b/app/src/main/java/org/matrix/TEESimulator/config/PatchLevelManager.kt index 53c2ec2..e94d6c6 100644 --- a/app/src/main/java/org/matrix/TEESimulator/config/PatchLevelManager.kt +++ b/app/src/main/java/org/matrix/TEESimulator/config/PatchLevelManager.kt @@ -61,6 +61,7 @@ object PatchLevelManager { PifObserver.startWatching() } + @Synchronized private fun applyToProps(date: String) { if (!DATE_PATTERN.matches(date)) { SystemLogger.warning(