projects
/
asdcplib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Forgot a fix.
[asdcplib.git]
/
src
/
h__Reader.cpp
diff --git
a/src/h__Reader.cpp
b/src/h__Reader.cpp
index 8035ac8c2eb4baea3840ea3c438ddb5bc36e393f..d329e603bc474bed6023f9a4da15c4060b39fe4c 100755
(executable)
--- a/
src/h__Reader.cpp
+++ b/
src/h__Reader.cpp
@@
-194,14
+194,14
@@
ASDCP::h__Reader::ReadEKLVFrame(ui32_t FrameNum, ASDCP::FrameBuffer& FrameBuf,
}
if( ASDCP_SUCCESS(result) )
}
if( ASDCP_SUCCESS(result) )
- result = ReadEKLVPacket(FrameNum, FrameBuf, EssenceUL, Ctx, HMAC);
+ result = ReadEKLVPacket(FrameNum, Frame
Num + 1, Frame
Buf, EssenceUL, Ctx, HMAC);
return result;
}
Result_t
return result;
}
Result_t
-ASDCP::h__Reader::ReadEKLVPacket(ui32_t FrameNum, ASDCP::FrameBuffer& FrameBuf,
+ASDCP::h__Reader::ReadEKLVPacket(ui32_t FrameNum,
ui32_t SequenceNum,
ASDCP::FrameBuffer& FrameBuf,
const byte_t* EssenceUL, AESDecContext* Ctx, HMACContext* HMAC)
{
KLReader Reader;
const byte_t* EssenceUL, AESDecContext* Ctx, HMACContext* HMAC)
{
KLReader Reader;
@@
-224,9
+224,11
@@
ASDCP::h__Reader::ReadEKLVPacket(ui32_t FrameNum, ASDCP::FrameBuffer& FrameBuf,
}
// read encrypted triplet value into internal buffer
}
// read encrypted triplet value into internal buffer
- m_CtFrameBuf.Capacity(PacketLength);
+ assert(PacketLength <= 0xFFFFFFFFL);
+ m_CtFrameBuf.Capacity((ui32_t) PacketLength);
ui32_t read_count;
ui32_t read_count;
- result = m_File.Read(m_CtFrameBuf.Data(), PacketLength, &read_count);
+ result = m_File.Read(m_CtFrameBuf.Data(), (ui32_t) PacketLength,
+ &read_count);
if ( ASDCP_FAILURE(result) )
return result;
if ( ASDCP_FAILURE(result) )
return result;
@@
-237,7
+239,7
@@
ASDCP::h__Reader::ReadEKLVPacket(ui32_t FrameNum, ASDCP::FrameBuffer& FrameBuf,
return RESULT_FORMAT;
}
return RESULT_FORMAT;
}
- m_CtFrameBuf.Size(PacketLength);
+ m_CtFrameBuf.Size(
(ui32_t)
PacketLength);
// should be const but mxflib::ReadBER is not
byte_t* ess_p = m_CtFrameBuf.Data();
// should be const but mxflib::ReadBER is not
byte_t* ess_p = m_CtFrameBuf.Data();
@@
-326,7
+328,7
@@
ASDCP::h__Reader::ReadEKLVPacket(ui32_t FrameNum, ASDCP::FrameBuffer& FrameBuf,
if ( ASDCP_SUCCESS(result) && m_Info.UsesHMAC && HMAC )
{
IntegrityPack IntPack;
if ( ASDCP_SUCCESS(result) && m_Info.UsesHMAC && HMAC )
{
IntegrityPack IntPack;
- result = IntPack.TestValues(TmpWrapper, m_Info.AssetUUID,
FrameNum + 1
, HMAC);
+ result = IntPack.TestValues(TmpWrapper, m_Info.AssetUUID,
SequenceNum
, HMAC);
}
}
else // return ciphertext to caller
}
}
else // return ciphertext to caller
@@
-357,7
+359,8
@@
ASDCP::h__Reader::ReadEKLVPacket(ui32_t FrameNum, ASDCP::FrameBuffer& FrameBuf,
// read the data into the supplied buffer
ui32_t read_count;
// read the data into the supplied buffer
ui32_t read_count;
- result = m_File.Read(FrameBuf.Data(), PacketLength, &read_count);
+ assert(PacketLength <= 0xFFFFFFFFL);
+ result = m_File.Read(FrameBuf.Data(), (ui32_t) PacketLength, &read_count);
if ( ASDCP_FAILURE(result) )
return result;
if ( ASDCP_FAILURE(result) )
return result;