From d5ae6ae6b5599fb47a17656ec092ff923609a8d2 Mon Sep 17 00:00:00 2001 From: sergeyu Date: Fri, 4 Sep 2015 18:38:07 -0700 Subject: [PATCH] Fix ScreenCapturerWinGdi to handle DesktopFrameWin::Create() errors. DesktopFrameWin::Create() may return nullptr when it fails to allocate windows bitmap. ScreenCapturerWinGdi wasn't handling that case properly. BUG=527660 Review URL: https://codereview.webrtc.org/1309143007 Cr-Commit-Position: refs/heads/master@{#9865} --- .../modules/desktop_capture/win/screen_capturer_win_gdi.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/webrtc/modules/desktop_capture/win/screen_capturer_win_gdi.cc b/webrtc/modules/desktop_capture/win/screen_capturer_win_gdi.cc index 352433e1cd..4d76fce0fa 100644 --- a/webrtc/modules/desktop_capture/win/screen_capturer_win_gdi.cc +++ b/webrtc/modules/desktop_capture/win/screen_capturer_win_gdi.cc @@ -241,9 +241,10 @@ bool ScreenCapturerWinGdi::CaptureImage() { DesktopFrame::kBytesPerPixel; SharedMemory* shared_memory = callback_->CreateSharedMemory(buffer_size); - rtc::scoped_ptr buffer; - buffer.reset( + rtc::scoped_ptr buffer( DesktopFrameWin::Create(size, shared_memory, desktop_dc_)); + if (!buffer.get()) + return false; queue_.ReplaceCurrentFrame(buffer.release()); }