It checks that there is enough space for the requested number of elements in the underlying stream, but it doesn't check that the stream length is exactly the right length because it doesn't know if there is more data after the array<br><div class="gmail_quote"><div dir="ltr">On Mon, Jun 6, 2016 at 10:01 AM David Majnemer <<a href="mailto:david.majnemer@gmail.com">david.majnemer@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">majnemer added inline comments.<br>
<br>
================<br>
Comment at: lib/DebugInfo/PDB/Raw/DbiStream.cpp:313-314<br>
@@ +312,4 @@<br>
+<br>
+  size_t StreamLen = FpoStream->getLength();<br>
+  size_t NumRecords = StreamLen / sizeof(object::FpoData);<br>
+  codeview::StreamReader Reader(*FpoStream);<br>
----------------<br>
I don't see such a check.<br>
<br>
<br>
<a href="http://reviews.llvm.org/D20999" rel="noreferrer" target="_blank">http://reviews.llvm.org/D20999</a><br>
<br>
<br>
<br>
</blockquote></div>