diff options
| author | jhurst <jhurst@cinecert.com> | 2019-06-12 18:08:45 -0700 |
|---|---|---|
| committer | jhurst <jhurst@cinecert.com> | 2019-06-12 18:08:45 -0700 |
| commit | 60f007fef43008c71ea24f2f754eb4d3856e8130 (patch) | |
| tree | cea8626bdb7f3534bd3c523577b95041eeab27c3 /src/MXF.cpp | |
| parent | e65db682915797bb2adc57d23b0de04cb3861138 (diff) | |
Modified to return preferred result codes
Diffstat (limited to 'src/MXF.cpp')
| -rwxr-xr-x | src/MXF.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/MXF.cpp b/src/MXF.cpp index df8bb28..b49fb83 100755 --- a/src/MXF.cpp +++ b/src/MXF.cpp @@ -128,7 +128,7 @@ ASDCP::MXF::RIP::InitFromFile(const Kumu::FileReader& Reader) if (m_ValueLength < 4) { DefaultLogSink().Error("RIP is too short.\n"); - return RESULT_FAIL; + return RESULT_KLV_CODING(__LINE__, __FILE__); } Kumu::MemIOReader MemRDR(m_ValueStart, m_ValueLength - 4); result = PairArray.Unarchive(&MemRDR) ? RESULT_OK : RESULT_KLV_CODING(__LINE__, __FILE__); @@ -456,7 +456,7 @@ ASDCP::MXF::Primer::InitFromBuffer(const byte_t* p, ui32_t l) if (m_ValueStart + m_ValueLength > p + l) { DefaultLogSink().Error("Primer entry too long.\n"); - return RESULT_FAIL; + return RESULT_KLV_CODING(__LINE__, __FILE__); } Kumu::MemIOReader MemRDR(m_ValueStart, m_ValueLength); result = LocalTagEntryBatch.Unarchive(&MemRDR) ? RESULT_OK : RESULT_KLV_CODING(__LINE__, __FILE__); @@ -1390,11 +1390,12 @@ ASDCP::MXF::InterchangeObject::InitFromBuffer(const byte_t* p, ui32_t l) if ( ASDCP_SUCCESS(result) ) { - if (m_ValueStart + m_ValueLength > p + l) - { - DefaultLogSink().Error("Interchange Object value extends past buffer length.\n"); - return RESULT_FAIL; - } + if ( ( m_ValueStart + m_ValueLength ) > ( p + l ) ) + { + DefaultLogSink().Error("Interchange Object value extends past buffer length.\n"); + return RESULT_KLV_CODING(__LINE__, __FILE__); + } + TLVReader MemRDR(m_ValueStart, m_ValueLength, m_Lookup); result = InitFromTLVSet(MemRDR); } |
