summaryrefslogtreecommitdiffstats
path: root/media/audio/win
diff options
context:
space:
mode:
Diffstat (limited to 'media/audio/win')
-rw-r--r--media/audio/win/audio_manager_win.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/media/audio/win/audio_manager_win.cc b/media/audio/win/audio_manager_win.cc
index 92f59d8..80d0d9d 100644
--- a/media/audio/win/audio_manager_win.cc
+++ b/media/audio/win/audio_manager_win.cc
@@ -211,12 +211,14 @@ string16 AudioManagerWin::GetAudioInputDeviceModel() {
waveInMessage(reinterpret_cast<HWAVEIN>(device_id),
DRV_QUERYDEVICEINTERFACESIZE,
reinterpret_cast<DWORD_PTR>(&device_interface_name_size), 0);
- if (device_interface_name_size == 0) // No audio capture device?
- return string16();
+ size_t bytes_in_char16 = sizeof(string16::value_type);
+ DCHECK_EQ(0u, device_interface_name_size % bytes_in_char16);
+ if (device_interface_name_size <= bytes_in_char16)
+ return string16(); // No audio capture device.
string16 device_interface_name;
string16::value_type* name_ptr = WriteInto(&device_interface_name,
- device_interface_name_size / sizeof(string16::value_type));
+ device_interface_name_size / bytes_in_char16);
waveInMessage(reinterpret_cast<HWAVEIN>(device_id),
DRV_QUERYDEVICEINTERFACE,
reinterpret_cast<DWORD_PTR>(name_ptr),