Commit 1da0ab0
[Decode] Fix UNCAUGHT_EXCEPT in AV1/H264/H265 decoder destructors
Wrap Close() calls in VideoDECODEAV1, VideoDECODEH264, and
VideoDECODEH265 destructors with try { } catch (...) { } to prevent
exceptions from propagating out of implicitly-noexcept destructors.
Close() acquires mutexes (std::lock_guard<std::mutex> or
UMC::AutomaticUMCMutex) which can throw std::system_error or
std::bad_alloc on lock failure. Since C++11 destructors are implicitly
noexcept, any uncaught exception causes std::terminate().
Fixes Coverity CIDs: 2893009 (AV1), 3593332 (H264), 3593335 (H265).1 parent fbd14e0 commit 1da0ab0
3 files changed
Lines changed: 3 additions & 3 deletions
File tree
- _studio/mfx_lib/decode
- av1/src
- h264/src
- h265/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
151 | | - | |
| 151 | + | |
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
205 | 205 | | |
206 | 206 | | |
207 | 207 | | |
208 | | - | |
| 208 | + | |
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
141 | | - | |
| 141 | + | |
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
| |||
0 commit comments