summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-01-08 23:14:28 +0000
committerCarl Hetherington <cth@carlh.net>2018-01-08 23:14:28 +0000
commit160a401d16e3962b10f3105e00992936a8188424 (patch)
treeace5bfdb0d0736a9581855970b3d4bc7f14f159d /src/lib
parent5dbc99a98cc758c80ffa23fa00318185ccd7acc7 (diff)
Fix a couple more crashes with incorrect KDMs (#1000).
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dcp_content.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc
index 43d6911f5..a6424874a 100644
--- a/src/lib/dcp_content.cc
+++ b/src/lib/dcp_content.cc
@@ -456,6 +456,9 @@ DCPContent::can_reference (function<shared_ptr<ContentPart> (shared_ptr<const Co
} catch (dcp::DCPReadError) {
/* We couldn't read the DCP; it's probably missing */
return false;
+ } catch (dcp::KDMDecryptionError) {
+ /* We have an incorrect KDM */
+ return false;
}
/* fr must contain reels(). It can also contain other reels, but it must at
@@ -497,6 +500,9 @@ DCPContent::can_reference_audio (list<string>& why_not) const
} catch (dcp::DCPReadError) {
/* We couldn't read the DCP, so it's probably missing */
return false;
+ } catch (dcp::KDMDecryptionError) {
+ /* We have an incorrect KDM */
+ return false;
}
BOOST_FOREACH (shared_ptr<dcp::Reel> i, decoder->reels()) {
@@ -518,6 +524,9 @@ DCPContent::can_reference_subtitle (list<string>& why_not) const
} catch (dcp::DCPReadError) {
/* We couldn't read the DCP, so it's probably missing */
return false;
+ } catch (dcp::KDMDecryptionError) {
+ /* We have an incorrect KDM */
+ return false;
}
BOOST_FOREACH (shared_ptr<dcp::Reel> i, decoder->reels()) {