Fix wrong integer type CPDF_SecurityHandler::GetUserPassword().

Do not try to hold a size_t in an int. Slightly refactor the surrounding
code to be more compact.

Bug: chromium:1030583
Change-Id: I111577dd90b1f702e3d061c60c66798cf155b1ab
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/63152
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_security_handler.cpp b/core/fpdfapi/parser/cpdf_security_handler.cpp
index 2d2795f..1c3ac75 100644
--- a/core/fpdfapi/parser/cpdf_security_handler.cpp
+++ b/core/fpdfapi/parser/cpdf_security_handler.cpp
@@ -489,12 +489,8 @@
     copy_len = sizeof(digest);
 
   memcpy(enckey, digest, copy_len);
-  int okeylen = okey.GetLength();
-  if (okeylen > 32) {
-    okeylen = 32;
-  }
-  uint8_t okeybuf[64];
-  memset(okeybuf, 0, sizeof(okeybuf));
+  size_t okeylen = std::min<size_t>(okey.GetLength(), 32);
+  uint8_t okeybuf[64] = {};
   memcpy(okeybuf, okey.c_str(), okeylen);
   if (m_Revision == 2) {
     CRYPT_ArcFourCryptBlock(okeybuf, okeylen, enckey, m_KeyLen);