I'd describe the situation like this. There were two pre-existing bugs in the code.  One was the fractional preview size and the other was the incorrectly blob.type for the preview image caused by the bad filename.  Neither one of these manifested at all until 989290 landed. Then, the fractional preview size caused a completely failure in cropResizeRotate(), and the bad filename caused an unnecessary decode/encode pass when displaying the preview.