<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><div class="gmail_default">While fuzzing LLVM bitcode files, I discovered that (1) the bitcode reader doesn't check that alignments are no larger than 2**29; (2) downstream code doesn't check the range; and (3) for values out of range, corresponding large memory requests (based on alignment size) will fail. This code fixes the bitcode reader to check for valid alignments, fixing this problem.</div><div class="gmail_default">    </div><div class="gmail_default">This CL fixes alignment value on global variables, functions, and instructions: alloca, load, load atomic, store, store atomic.</div><div class="gmail_default"><br></div><div class="gmail_default">Note: No tests have been added since the corresponding parser of the LLVM assembly language checks alignment ranges. Hence, I couldn't reproduce the problem with a .ll file.</div><div><br></div></div><div><div class="gmail_signature">Karl Schimpf <br></div></div>
</div>