clear implicit conversion warnings
reported by clang-11 -fsanitize=integer
mkvparser/mkvparser.cc:301:31: runtime error: implicit conversion from
type 'signed char' of value -128 (8-bit, signed) to type 'unsigned long
long' changed the value to 18446744073709551488 (64-bit, unsigned)
m2ts/webm2pes.cc:71:13: runtime error: implicit conversion from type
'unsigned int' of value 1260 (32-bit, unsigned) to type 'std::uint8_t'
(aka 'unsigned char') changed the value to 236 (8-bit, unsigned)
Change-Id: If3d6f17edb7a0d79a944a4dd0919878cf524460b
diff --git a/m2ts/webm2pes.cc b/m2ts/webm2pes.cc
index fc4b314..afa8a6b 100644
--- a/m2ts/webm2pes.cc
+++ b/m2ts/webm2pes.cc
@@ -68,7 +68,7 @@
// Top 8 bits of second PTS chunk.
buffer[3] |= (pts3 >> 7) & 0xff;
// bottom 7 bits of second PTS chunk.
- buffer[4] |= (pts3 << 1);
+ buffer[4] |= (pts3 << 1) & 0xff;
// Marker.
buffer[4] |= 1;
diff --git a/mkvparser/mkvparser.cc b/mkvparser/mkvparser.cc
index de8884b..fea1124 100644
--- a/mkvparser/mkvparser.cc
+++ b/mkvparser/mkvparser.cc
@@ -298,7 +298,7 @@
if (status < 0)
return status;
- unsigned long long result = first_byte;
+ unsigned long long result = static_cast<unsigned long long>(first_byte);
++pos;
for (long i = 1; i < size; ++i) {