Stop supporting kUnknown_BmpHeaderType DO NOT MERGE

In SkBmpCodec, if the header size does not match a known header,
stop trying to create an SkCodec. We do not know of any BMPs with
arbitrarily sized headers, so this should not cause any real

In addition, this fixes a bug where we attempt to read too much data
from a file. Since we attempt to read the header size in one read,
and a size reported by the "BMP" may be larger than SSIZE_MAX, this
will crash when reading from a file.

Add a test.

Bug: 33651913
Bug: 37627194

- tests/CodexTest.cpp
  - Add the new test without others that have been added since
  - Use SkAutoTDelete instead of std::unique_ptr

Change-Id: I0f03acec5981869554b05cd8ccb75d7c87361019
(cherry picked from commit 71eb09f952b7a8c56149e485cf452f03c0e834c6)
3 files changed