Fix 699085: Use at most 16 bytes from MD5 digests.
Fix 699085: Use at most 16 bytes from MD5 digests.

Previously crypt->len / 8 could be 0..32. In the case
of crypt->len == 256 this meant that when an 16 byte
MD5 was computed, uninitalized key data would be
accessed because 32 bytes of key data was accessed.

Now crypt->len / 8 is limited to 0..16. So when the
16 byte MD5 is computed and later accessed only the
initialized part of the key data is accessed.

Because crypt->len / 8 is now limited to 0..16 the key
data buffer can also be shrunk to 16 bytes without
risking the code stepping over its boundaries.

TamirEvan/mupdf,TamirEvan/mupdf,ArtifexSoftware/mupdf,ArtifexSoftware/mupdf,ArtifexSoftware/mupdf,ccxvii/mupdf,sebras/mupdf,muennich/mupdf,ArtifexSoftware/mupdf,TamirEvan/mupdf,muennich/mupdf,muennich/mupdf,fluks/mupdf-x11-bookmarks,TamirEvan/mupdf,sebras/mupdf,ArtifexSoftware/mupdf,fluks/mupdf-x11-bookmarks,fluks/mupdf-x11-bookmarks,ArtifexSoftware/mupdf,fluks/mupdf-x11-bookmarks,sebras/mupdf,muennich/mupdf,fluks/mupdf-x11-bookmarks,ArtifexSoftware/mupdf,sebras/mupdf,sebras/mupdf,fluks/mupdf-x11-bookmarks,ccxvii/mupdf,ccxvii/mupdf,muennich/mupdf,TamirEvan/mupdf,TamirEvan/mupdf,sebras/mupdf,ccxvii/mupdf,TamirEvan/mupdf,muennich/mupdf,fluks/mupdf-x11-bookmarks,TamirEvan/mupdf,ArtifexSoftware/mupdf,ccxvii/mupdf,muennich/mupdf,ccxvii/mupdf