Some missing checks for allocation failures.
authorCarl Hetherington <cth@carlh.net>
Thu, 16 Apr 2020 12:16:42 +0000 (14:16 +0200)
committerCarl Hetherington <cth@carlh.net>
Thu, 16 Apr 2020 12:16:42 +0000 (14:16 +0200)
src/lib/ffmpeg.cc

index 8dc525db970d4c6efb6a2ea0e1fade96e0c8ca23..8eb19816c0828b44b1dfc82bc030f19d37378ea5 100644 (file)
@@ -116,7 +116,13 @@ FFmpeg::setup_general ()
        _file_group.set_paths (_ffmpeg_content->paths ());
        _avio_buffer = static_cast<uint8_t*> (wrapped_av_malloc (_avio_buffer_size));
        _avio_context = avio_alloc_context (_avio_buffer, _avio_buffer_size, 0, this, avio_read_wrapper, 0, avio_seek_wrapper);
+       if (!_avio_context) {
+               throw std::bad_alloc ();
+       }
        _format_context = avformat_alloc_context ();
+       if (!_format_context) {
+               throw std::bad_alloc ();
+       }
        _format_context->pb = _avio_context;
 
        AVDictionary* options = 0;