Bug 1414213. P2 - don't continue reading if reader.Read(5) failed. draft
authorJW Wang <jwwang@mozilla.com>
Mon, 06 Nov 2017 11:24:16 +0800
changeset 693399 bd9dc13064a91eb4cc98952c5980760d5e2624f0
parent 693398 89b573c7d46160fe3f0a6223bd99e4354db7d36b
child 739012 f9025638dc9a97e6aacff299a064b2ec494c25d0
push id87780
push userjwwang@mozilla.com
push dateMon, 06 Nov 2017 03:25:03 +0000
bugs1414213
milestone58.0a1
Bug 1414213. P2 - don't continue reading if reader.Read(5) failed. MozReview-Commit-ID: 1vNbACa9Vpv
media/libstagefright/binding/H264.cpp
--- a/media/libstagefright/binding/H264.cpp
+++ b/media/libstagefright/binding/H264.cpp
@@ -962,19 +962,21 @@ H264::HasSPS(const mozilla::MediaByteBuf
 /* static */ uint8_t
 H264::NumSPS(const mozilla::MediaByteBuffer* aExtraData)
 {
   if (!aExtraData || aExtraData->IsEmpty()) {
     return 0;
   }
 
   BufferReader reader(aExtraData);
-  const uint8_t* ptr = reader.Read(5);
+  if (!reader.Read(5)) {
+    return 0;
+  }
   auto res = reader.ReadU8();
-  if (!ptr || res.isErr()) {
+  if (res.isErr()) {
     return 0;
   }
   return res.unwrap() & 0x1f;
 }
 
 /* static */ bool
 H264::CompareExtraData(const mozilla::MediaByteBuffer* aExtraData1,
                        const mozilla::MediaByteBuffer* aExtraData2)