New issue
Advanced search Search tips

Issue 719363 link

Starred by 1 user

Issue metadata

Status: Archived
Owner: ----
Closed: May 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Crash at PepperMediaDeviceManager::DevicesChanged() while compilation flag ENABLE_WEBRTC is false

Reported by m...@fire.glass, May 8 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36

Example URL:
http://www.whatismyflash.com/

Steps to reproduce the problem:
1. Compile chromium with ENABLE_WEBRTC=false
2. Make sure Pepper flash is installed
3. Browse to a website with flash element, like http://www.whatismyflash.com/

What is the expected behavior?
Not to crash! Flash should be displayed properly

What went wrong?
Stack trace:
#1 PepperMediaDeviceManager::EnumerateDevices()
#2 PepperMediaDeviceManager::DevicesChanged()
#3 PepperMediaDeviceManager::DevicesEnumerated()

* When ENABLE_WEBRTC is false, DevicesEnumerated() is calling PepperMediaDeviceManager::DevicesEnumerated() with an empty vector of std::vector<MediaDeviceInfoArray>()
line: https://cs.chromium.org/chromium/src/content/renderer/pepper/pepper_media_device_manager.cc?q=pepperdevice+package:%5Echromium$&l=100

* Then, DevicesChanged() attempts to access the vector at the index of 'type', while it is empty.
line: https://cs.chromium.org/chromium/src/content/renderer/pepper/pepper_media_device_manager.cc?q=pepperdevice+package:%5Echromium$&l=242

* DevicesChanged gets an arbitrary address instead of a MediaDeviceInfoArray object and crashes when it first access it using device_infos.size().
line: https://cs.chromium.org/chromium/src/content/renderer/pepper/pepper_media_device_manager.cc?q=pepperdevice+package:%5Echromium$&l=250

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? Yes 2883

Does this work in other browsers? N/A

Chrome version: 57.0.2987.133  Channel: stable
OS Version: Ubuntu 14.04 
Flash Version: Flash 25.0
 

Comment 1 by tkent@chromium.org, May 8 2017

Components: -Blink Internals>Plugins>Pepper

Comment 2 by m...@fire.glass, May 8 2017

Sorry, it is supposed to be like this:
Stack trace:
#1 PepperMediaDeviceManager::DevicesChanged()
#2 PepperMediaDeviceManager::DevicesEnumerated()
#3 PepperMediaDeviceManager::EnumerateDevices()

* When ENABLE_WEBRTC is false, EnumerateDevices() is calling PepperMediaDeviceManager::DevicesEnumerated() with an empty vector of std::vector<MediaDeviceInfoArray>()
line: https://cs.chromium.org/chromium/src/content/renderer/pepper/pepper_media_device_manager.cc?q=pepperdevice+package:%5Echromium$&l=100

* Then, DevicesEnumerated() attempts to access the vector at the index of 'type', while it is empty.
line: https://cs.chromium.org/chromium/src/content/renderer/pepper/pepper_media_device_manager.cc?q=pepperdevice+package:%5Echromium$&l=242

* DevicesChanged() gets an arbitrary address instead of a MediaDeviceInfoArray object and crashes when it first access it using device_infos.size().
line: https://cs.chromium.org/chromium/src/content/renderer/pepper/pepper_media_device_manager.cc?q=pepperdevice+package:%5Echromium$&l=250

:)

Labels: Needs-Milestone
Labels: TE-NeedsTriageHelp
Project Member

Comment 5 by sheriffbot@chromium.org, May 15 2018

Status: Archived (was: Unconfirmed)
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment