Commit Graph

7580 Commits

Author SHA1 Message Date
Android Build Merger (Role)
afac0f46d9 [automerger] Check for null-terminator in ResStringPool::string8At am: 5ec65ae909 am: c3d7250b99 am: e2417e6682 am: 0ab4540c41 am: a3f0976937 am: 166aa6e149 am: b7f7f7e14e am: c26b8635b7
Change-Id: If1ccdb1c778d8f3f605c1091643a6c11f0ffa00e
2018-01-17 22:20:50 +00:00
Android Build Merger (Role)
c26b8635b7 [automerger] Check for null-terminator in ResStringPool::string8At am: 5ec65ae909 am: c3d7250b99 am: e2417e6682 am: 0ab4540c41 am: a3f0976937 am: 166aa6e149 am: b7f7f7e14e
Change-Id: I24714505cc04c722b7d49762ee3e965369fd4d1e
2018-01-17 22:20:46 +00:00
Android Build Merger (Role)
b7f7f7e14e [automerger] Check for null-terminator in ResStringPool::string8At am: 5ec65ae909 am: c3d7250b99 am: e2417e6682 am: 0ab4540c41 am: a3f0976937 am: 166aa6e149
Change-Id: I7d51ce90a1c1075e72dbdf6d1436c4ff22e4f85b
2018-01-17 22:20:41 +00:00
Android Build Merger (Role)
166aa6e149 [automerger] Check for null-terminator in ResStringPool::string8At am: 5ec65ae909 am: c3d7250b99 am: e2417e6682 am: 0ab4540c41 am: a3f0976937
Change-Id: If96dfd76092dc107e75fbc213346eba2cbc0a0c1
2018-01-17 22:20:29 +00:00
Android Build Merger (Role)
0ab4540c41 [automerger] Check for null-terminator in ResStringPool::string8At am: 5ec65ae909 am: c3d7250b99 am: e2417e6682
Change-Id: Ief72a1c4868ab7433e4d3d4d99cbdc30954d6695
2018-01-17 22:20:19 +00:00
Android Build Merger (Role)
e2417e6682 [automerger] Check for null-terminator in ResStringPool::string8At am: 5ec65ae909 am: c3d7250b99
Change-Id: I43a4eb54f67bd3dbcffd0432c3988b0377463fff
2018-01-17 22:20:14 +00:00
Android Build Merger (Role)
c3d7250b99 [automerger] Check for null-terminator in ResStringPool::string8At am: 5ec65ae909
Change-Id: I1ea52e1ccd7bf5467438e3dc2e670cf8f325c629
2018-01-17 22:20:03 +00:00
Adam Lesinski
5ec65ae909 Check for null-terminator in ResStringPool::string8At
All other stringAt methods check for null termination. Be consistent
so that upper levels don't end up with huge corrupt strings.

Bug: 62537081
Test: none
Change-Id: I17bdfb0c1e34507b66c6cad651bbdb12c5d4c417
(cherry picked from commit 3d35a0ea30)
(cherry picked from commit 97f8cb01149b35b1832c7f9efe85ff19edf1083e)
2018-01-17 22:19:39 +00:00
Fyodor Kupolov
2c76d62107 Merge "[DO NOT MERGE] Check bounds in offsetToPtr" into nyc-dev am: 6c8098c8ab am: 05c199a117
am: 2542711bda

Change-Id: If5263f9fa84ed5f8fb5ed253f8b83ecc6ac6514b
2017-03-09 20:01:28 +00:00
Fyodor Kupolov
2542711bda Merge "[DO NOT MERGE] Check bounds in offsetToPtr" into nyc-dev am: 6c8098c8ab
am: 05c199a117

Change-Id: I219cfeb4e12cf08d4aa40c917e2ac0d5d9a94596
2017-03-09 19:51:59 +00:00
Fyodor Kupolov
4fa88b4ddb Merge "[DO NOT MERGE] Check bounds in offsetToPtr" into mnc-dev am: 07beec953b
am: 4707bd455e

Change-Id: I5ad21560d103ccd099c8c82b591bdd432bad50aa
2017-03-09 19:51:56 +00:00
Fyodor Kupolov
05c199a117 Merge "[DO NOT MERGE] Check bounds in offsetToPtr" into nyc-dev
am: 6c8098c8ab

Change-Id: I05f15f4152bf02a91384a88d648f4a9121b7f1d6
2017-03-09 19:43:58 +00:00
Fyodor Kupolov
4707bd455e Merge "[DO NOT MERGE] Check bounds in offsetToPtr" into mnc-dev
am: 07beec953b

Change-Id: Ia5853c9741163b5e38a432ca645e4082bfa0a7bb
2017-03-09 19:43:55 +00:00
Fyodor Kupolov
1cbfeef9d8 [DO NOT MERGE] Check bounds in offsetToPtr
Check whether specified offset belongs to mData.
Also added a default argument bufferSize to check the end offset.

Size of the ashmem descriptor can be modified between
ashmem_get_size_region call and mmap. createFromParcel method was updated
to check ashmem size again immediately after memory is mapped.

Test: manual - using the test app from the bug
Bug: 34128677
Change-Id: I3ecd1616a870ce20941ce9b20a1843d2b4295750
(cherry picked from commit 45e2e95c2f)
2017-03-03 19:01:24 +00:00
Fyodor Kupolov
23efadc807 [DO NOT MERGE] Check bounds in offsetToPtr
Check whether specified offset belongs to mData.
Also added a default argument bufferSize to check the end offset.

Size of the ashmem descriptor can be modified between
ashmem_get_size_region call and mmap. createFromParcel method was updated
to check ashmem size again immediately after memory is mapped.

Test: manual - using the test app from the bug
Bug: 34128677
Change-Id: I3ecd1616a870ce20941ce9b20a1843d2b4295750
(cherry picked from commit 45e2e95c2f)
2017-03-01 01:29:05 +00:00
Fyodor Kupolov
acede24109 [DO NOT MERGE] Check bounds in offsetToPtr
Check whether specified offset belongs to mData.
Also added a default argument bufferSize to check the end offset.

Size of the ashmem descriptor can be modified between
ashmem_get_size_region call and mmap. createFromParcel method was updated
to check ashmem size again immediately after memory is mapped.

Test: manual - using the test app from the bug
Bug: 34128677
Change-Id: I3ecd1616a870ce20941ce9b20a1843d2b4295750
(cherry picked from commit 45e2e95c2f)
2017-02-28 02:44:08 +00:00
neo.chae
7530ea7ec0 Fix idmap leak in zygote process am: 0244ca8d10 am: 82537abc3b am: 85afb42c16 am: b4b2203c5e am: fb74b8773a am: c58ec27e1c am: 7489336fed am: 0212d4f3fa am: aaf785c827
am: 4b72904585

Change-Id: I365cdb2764ffb15f233cfeb43339e6acbc369e49
2016-11-14 13:40:37 +00:00
neo.chae
4b72904585 Fix idmap leak in zygote process am: 0244ca8d10 am: 82537abc3b am: 85afb42c16 am: b4b2203c5e am: fb74b8773a am: c58ec27e1c am: 7489336fed am: 0212d4f3fa
am: aaf785c827

Change-Id: I34d0175499e1a47e3e6c9aecd2ac2805a6b4ad51
2016-11-14 13:25:11 +00:00
neo.chae
aaf785c827 Fix idmap leak in zygote process am: 0244ca8d10 am: 82537abc3b am: 85afb42c16 am: b4b2203c5e am: fb74b8773a am: c58ec27e1c am: 7489336fed
am: 0212d4f3fa

Change-Id: I9ea05d641c04178d067c35ae5d2f87ee35c86924
2016-11-14 13:13:48 +00:00
neo.chae
0212d4f3fa Fix idmap leak in zygote process am: 0244ca8d10 am: 82537abc3b am: 85afb42c16 am: b4b2203c5e am: fb74b8773a am: c58ec27e1c
am: 7489336fed

Change-Id: I53fb00542e417e200b46ac941b4255e310348e18
2016-11-14 12:57:53 +00:00
Andriy Naborskyy
11da2b5de3 Merge "DO NOT MERGE ANYWHERE Revert "DO NOT MERGE ANYWHERE libhwui: make setSurface asynchronous"" into cw-e-dev 2016-11-12 03:18:55 +00:00
neo.chae
7489336fed Fix idmap leak in zygote process am: 0244ca8d10 am: 82537abc3b am: 85afb42c16 am: b4b2203c5e am: fb74b8773a
am: c58ec27e1c

Change-Id: Id44b030b79e924a7d619288b2fc0926d7a536111
2016-11-11 00:16:46 +00:00
neo.chae
c58ec27e1c Fix idmap leak in zygote process am: 0244ca8d10 am: 82537abc3b am: 85afb42c16 am: b4b2203c5e
am: fb74b8773a

Change-Id: I4a2630b7217462897070029a613489c7909aedf6
2016-11-11 00:02:56 +00:00
neo.chae
fb74b8773a Fix idmap leak in zygote process am: 0244ca8d10 am: 82537abc3b am: 85afb42c16
am: b4b2203c5e

Change-Id: Ifd540b5f9cb1e32a002ed86c67eda30189f4e23f
2016-11-10 23:44:32 +00:00
Andriy Naborskyy
c5bf8bc74d DO NOT MERGE ANYWHERE Revert "DO NOT MERGE ANYWHERE libhwui: make setSurface asynchronous"
This reverts commit 80e6d8873b.

Bug: 32771832

Change-Id: Ia2f2ffd08dfd87cbce1ec750d6b61277799b536f
2016-11-10 03:17:08 +00:00
neo.chae
b4b2203c5e Fix idmap leak in zygote process am: 0244ca8d10 am: 82537abc3b
am: 85afb42c16

Change-Id: Ibb5ac24b2149637bf19b9a16153b1fcde5dbb45f
2016-11-09 20:25:12 +00:00
neo.chae
82537abc3b Fix idmap leak in zygote process
am: 0244ca8d10

Change-Id: Ia35ded23161ad5c5c6fe4dea388e74b8d8af2955
2016-11-09 09:21:46 +00:00
neo.chae
0244ca8d10 Fix idmap leak in zygote process
Fix a idmap leak in AssetManager::addSystemOverlays.
And, The fix could also prevent fd leak of idmap.

Test: none
Bug: 32691930

Signed-off-by: Hyangseok Chae <neo.chae@lge.com>

(cherry picked from commit 6a742a3850)

Change-Id: Idc4af77db2b0cb739bd6b009b6af0f9123be1aac
2016-11-08 09:59:44 +00:00
Thomas Buhot
80e6d8873b DO NOT MERGE ANYWHERE libhwui: make setSurface asynchronous
from AOSP: https://android-review.googlesource.com/#/c/183305/

On the critical path of the cold launch of applications
the main thread of the started application tells the RenderThread
to create a surface. This process is synchronous and blocks
the main thread of the application until the creation
of the EGLContext is complete.
As a consequence the launch time of the application is delayed
by time spent allocating the EGL Context in the RenderThread.

With this optimization the launch time of any application
is improved (for example settings by 20 to 40 ms).

Change-Id: Ibf47aaa0abb8dedf7aa00693073db3785d9d6b08
Signed-off-by: Thomas Buhot <thomas.buhot@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
2016-10-25 18:48:50 -07:00
Jakub Adamek
54dcaaba4f Change name of overlay subdir 'sku'->'theme'
The name 'sku' does not fit well as we recommend to use the same
value for different SKUs if vendors wish to have the same colors
on those SKUs.

Bug: 32268656
Change-Id: Ib5e5a3386676453dafeb13a6a6bf91f81bb48a11
2016-10-19 14:06:32 +01:00
Adam Lesinski
882f8168b0 Fix race with Asset destruction and printing allocation stats
am: 2582465bb4

Change-Id: I1dbb7609fa4d770e513e6f628e4c598600607383
2016-10-18 20:40:50 +00:00
Adam Lesinski
2582465bb4 Fix race with Asset destruction and printing allocation stats
A race could occur when printing the list of Asset allocations for
debugging purposes.

Each Asset object would insert themselves into a global linked list
on construction and remove themselves on destruction. Iterating the list
and the insertion/remove operations all acquire a global lock.

The race occurs after the Asset subclass destructor runs but before the Asset
base class destructor runs, which performs the actual removal from the list.

The vtable of the object being destroyed ends up pointing at the base Asset class'
vtable, and during the iteration of the global list, a pure virtual method is called
leading to an abort, since the wrong vtable is dereferenced.

This change moves the insertion/removal of the Asset object into the global list
to the concrete class, which adds some maintenance overhead but solves the problem.

Bug:31113965
Test: make libandroidfw_tests
Change-Id: I1a620897e5e04a8519ee247883bba0719b1fa6f3
(cherry picked from commit 0358efe4f7)
2016-10-18 01:27:39 +00:00
Chris Craik
a6bfd8d12c Fix complex clipping on mergeable ops DO NOT MERGE
am: d183e0b988

Change-Id: Icb357a11cb8a4be473aa8b0acdb4d799973ff54a
2016-10-17 19:52:53 +00:00
Chris Craik
d183e0b988 Fix complex clipping on mergeable ops DO NOT MERGE
Fixes: 32106003

Change-Id: I519bc38a1fa8c25c9ae317ffdb7e59e5a0824f59
2016-10-17 10:51:11 -07:00
Martin Wallgren
dce79f10ba RRO: Synchronize access to overlays.list
am: 0fbb608110

Change-Id: I44a716df3954b6d2d58d7c9784f8b55cf041b10b
2016-10-12 21:03:11 +00:00
Doris Liu
c47199bb6a Fix SkShader leak for Gradient VectorDrawable and test
am: fc9cf72339

Change-Id: I493a8c52cd4cca79971a4fd2e3eed7f566ce8ecd
2016-10-12 20:56:55 +00:00
Adam Lesinski
baac85ec1f Merge "RRO: Synchronize access to overlays.list" into nyc-mr1-dev 2016-10-12 20:55:55 +00:00
Martin Wallgren
0fbb608110 RRO: Synchronize access to overlays.list
idmap --scan is executed as a part of the pre-loading in ZygoteInit.
The pre loading is executed in parallel for each supported architecture
(32/64 bit). This will cause a race condition in the creation of the
overlays.list file and the idmap files for the system overlays.

Apply flock on overlays.list to prevent the file from being thrown away
and recreated when it is in use by another Zygote.

Cherry-picked from AOSP.

Bug: 28032298
Test: manual
Change-Id: I51d39f121d207b11181340b68b164b60020f0c61
2016-10-12 14:56:31 +00:00
Doris Liu
fc9cf72339 Fix SkShader leak for Gradient VectorDrawable and test
This CL fixes a SkShader leak in VD when applying local matrix
to the shader. Specifically, the usage of newWithLocalMatrix(...)
increments the shader's ref count in every draw() call for
Gradient VectorDrawable, whereas there's no balancing call to
decrement the ref count in draw(). In this CL, we assume
the ownership of the shader returned from newWithLocalMatrix(...)
to ensure the correct ref count management.

Also, add test to verify that shader is no longer being leaked

BUG: 32067647
Test: this CL

Change-Id: Ic15fe46cde06a73d81b44e2d3c56b51907344cc0
2016-10-12 01:22:11 +00:00
sergeyv
4778f6a43e Turn off additional logging in text rendering
am: 5bb5626599

Change-Id: Ic7f6c59ca2c3a92f81bf55a8916e20d99fcc01a7
2016-10-11 00:43:32 +00:00
sergeyv
5bb5626599 Turn off additional logging in text rendering
Change-Id: If5f11489c05e320e4436fb57680857b29228a755
b:30427106
2016-10-10 12:25:06 -07:00
Doris Liu
4a1ea9ba7e Support calling start() in onAnimationFinished(...) in AVD
am: 679fe6ab6f

Change-Id: I2999f6fc543f56d73cd03fe74b466c033d6c7d1a
2016-10-08 23:52:20 +00:00
Doris Liu
679fe6ab6f Support calling start() in onAnimationFinished(...) in AVD
This CL fixed an issue where calling start() from onAnimationFinished()
caused AnimationListenerBridge::onAnimationFinished(...) to be unsafely
re-entered and the new start listener was (incorrectly) reset to null.

BUG: 31971397
Test: test apk in the bug linked above
Change-Id: Ica809ef2dab884950b93b54f2d0cb4b81e9830f1
2016-10-08 21:00:14 +00:00
Teng-Hui Zhu
9ad599930d Make umbra lighter when the blocker is too high and has no real umbra area.
am: 9c555566bf

Change-Id: I785f5a25aae97f8852bb1cc4833f2662411eabc3
2016-10-06 21:06:36 +00:00
songjinshi
09901f3bc9 Fix thread race caused double free issue.
am: 5754b41c20

Change-Id: Ic9dd6e9c6d216753d997da99158816682d5464d1
2016-10-06 20:13:00 +00:00
Teng-Hui Zhu
9c555566bf Make umbra lighter when the blocker is too high and has no real umbra area.
b/31939390
Test: CTS testShadowLayout && Manual FrameworkShadow test

Change-Id: Ib0b6c4239ac8a521a827be246e912daf2ad3b885
2016-10-04 17:26:09 -07:00
songjinshi
5754b41c20 Fix thread race caused double free issue.
The SharedZip's Asset is not thread-safety,the getResourceTableAsset()
and setResourceTableAsset(Asset* asset) function of the SharedZip is
not sync with a same lock.

Consider the following sequence of events:
Thread A calls setResourceTableAsset(Asset* asset),it will set
mResourceTableAsset = asset; then to calls getBuffer() of the asset.
Thread B calls getResourceTableAsset(),which return mResourceTableAsset,
then to calls getBuffer() of the mResourceTableAsset,the asset and
mResourceTableAsset is same one object.
Thread A to delete mZipInflater in getBuffer().
Thread B to delete mZipInflater in getBuffer().

It will cause crash becuase double delete mZipInflater in getBuffer().

https://code.google.com/p/android/issues/detail?id=211941

Bug:31734545
Change-Id: I5a7d67fdf64c4aa03f505b37a2fa840f4443d158
Signed-off-by: songjinshi <songjinshi@xiaomi.com>
2016-10-03 20:13:12 +00:00
Jakub Adamek
c03d9483f0 Change name of overlay subdir property to sku.
Also move the SKU subdirectories directly under /vendor/overlay.

Bug: 31692079
Change-Id: I68c712b13918cc99629534580ee4f77d9e5b3823
2016-10-03 10:14:12 +01:00
Jakub Adamek
1c15c63578 Search for runtime resource overlays in subdir.
See go/sku-colors. This changes the directory to search for framework
overlays if the right system property is defined. This allows
OEMs to specify different resources based on device SKUs.

Bug: 31692079
Change-Id: I9cb121b286b7f52aa26de1757fde1f3110cd47fd
2016-09-28 10:09:20 +01:00
Yuqian Li
83427ff222 Ignore HasAlphaLayer flag to fix b/30929229
BUG:30929229
Change-Id: Iebadc6b3d224efa0554cbbb99ea43f871c28722b
2016-09-14 11:44:10 -04:00