summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/JavaClassGenerator.cpp
diff options
context:
space:
mode:
authorHugo Benichi <hugobenichi@google.com>2016-06-21 09:48:07 +0900
committerHugo Benichi <hugobenichi@google.com>2016-06-27 15:04:27 +0900
commit78caa25870391f676e1edbd448b5ff3e12a99a1e (patch)
treecb151c40090d3ef12efe6b5c5f7ed6e0d6911bf4 /tools/aapt2/java/JavaClassGenerator.cpp
parent1b2ed4394c0e10c844faa4840067db4ee4a2367c (diff)
Fix unsafe concurrent access in LegacyTypeTracker
This patch adds synchronization inside LegacyTypeTracker so that getNetworkForType() can safely run concurrently with remove(). Without synchronization if remove() removes the last network for a given type while getNetworkForType() runs for the same type, it is possible that getNetworkForType tries to access the head of an empty list, resulting in a runtime exception. This issue was found by zoran.jovanovic@sonymobile.com who proposed a fix in AOSP (Change-Id: Ia963662edb9d643790e8d9439e4dbdcac4c2187b). This patch differs from the fix proposed by the bug reporter and tries instead to do the minimum amount of locking to make getNetworkForType safe. Bug: 29030387 Change-Id: I915aac527fc8828b32bf35fee870add2dfb11d8d
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator.cpp')
0 files changed, 0 insertions, 0 deletions