<script>
if (window.testRunner)
    testRunner.dumpAsText();
</script>
This test passes if no heap errors are detected during decoding.<br>
<img src=resources/wrong-block-length.gif>
