diff options
author | reed@google.com <reed@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-09 20:19:43 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-09 20:19:43 +0000 |
commit | 140ba6be05157d66dc9a9851ce2d4250eeea2462 (patch) | |
tree | 58eb1f6dfbb4316a5b2512d2f86ff7e388c358be /cc | |
parent | f8a6ac3b20f0d1e9779eeee0ac46a9fa51f256d9 (diff) | |
download | chromium_src-140ba6be05157d66dc9a9851ce2d4250eeea2462.zip chromium_src-140ba6be05157d66dc9a9851ce2d4250eeea2462.tar.gz chromium_src-140ba6be05157d66dc9a9851ce2d4250eeea2462.tar.bz2 |
Check for bad buffer before sending it to skia (null check, 4-byte-align check)
Motivated during investigation of http://crbug.com/226750
Review URL: https://chromiumcodereview.appspot.com/13947012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193191 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r-- | cc/resources/tile_manager.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cc/resources/tile_manager.cc b/cc/resources/tile_manager.cc index e5d5bfa..5ef1e0a 100644 --- a/cc/resources/tile_manager.cc +++ b/cc/resources/tile_manager.cc @@ -792,6 +792,10 @@ void TileManager::DispatchOneRasterTask(scoped_refptr<Tile> tile) { uint8* buffer = resource_pool_->resource_provider()->MapPixelBuffer(resource_id); + CHECK(buffer); + // skia requires that our buffer be 4-byte aligned + CHECK(!(reinterpret_cast<intptr_t>(buffer) & 3)); + ManagedTileState& managed_tile_state = tile->managed_state(); raster_worker_pool_->PostRasterTaskAndReply( tile->picture_pile(), |