diff --git a/modules/desktop_capture/mac/desktop_frame_cgimage.mm b/modules/desktop_capture/mac/desktop_frame_cgimage.mm index dddf4a4e1a..fb13fe2738 100644 --- a/modules/desktop_capture/mac/desktop_frame_cgimage.mm +++ b/modules/desktop_capture/mac/desktop_frame_cgimage.mm @@ -74,11 +74,13 @@ std::unique_ptr DesktopFrameCGImage::CreateFromCGImage( CGColorSpaceRef cg_color_space = CGImageGetColorSpace(cg_image.get()); if (cg_color_space) { rtc::ScopedCFTypeRef cf_icc_profile(CGColorSpaceCopyICCProfile(cg_color_space)); - const uint8_t* data_as_byte = - reinterpret_cast(CFDataGetBytePtr(cf_icc_profile.get())); - const size_t data_size = CFDataGetLength(cf_icc_profile.get()); - if (data_as_byte && data_size > 0) { - frame->set_icc_profile(std::vector(data_as_byte, data_as_byte + data_size)); + if (cf_icc_profile) { + const uint8_t* data_as_byte = + reinterpret_cast(CFDataGetBytePtr(cf_icc_profile.get())); + const size_t data_size = CFDataGetLength(cf_icc_profile.get()); + if (data_as_byte && data_size > 0) { + frame->set_icc_profile(std::vector(data_as_byte, data_as_byte + data_size)); + } } }