diff --git a/PowerEditor/src/NppCommands.cpp b/PowerEditor/src/NppCommands.cpp index e9f3acb85..39e934244 100644 --- a/PowerEditor/src/NppCommands.cpp +++ b/PowerEditor/src/NppCommands.cpp @@ -3287,31 +3287,35 @@ void Notepad_plus::command(int id) uint8_t hash[HASH_MAX_LENGTH] {}; wchar_t hashStr[HASH_STR_MAX_LENGTH] {}; + int hashLen = 0; switch (id) { case IDM_TOOL_SHA1_GENERATEINTOCLIPBOARD: { calc_sha1(hash, reinterpret_cast(selectedStr), strlen(selectedStr)); + hashLen = hash_sha1; } break; case IDM_TOOL_SHA256_GENERATEINTOCLIPBOARD: { calc_sha_256(hash, reinterpret_cast(selectedStr), strlen(selectedStr)); + hashLen = hash_sha256; } break; case IDM_TOOL_SHA512_GENERATEINTOCLIPBOARD: { calc_sha_512(hash, reinterpret_cast(selectedStr), strlen(selectedStr)); + hashLen = hash_sha512; } break; default: return; } - for (int i = 0; i < id; i++) + for (int i = 0; i < hashLen; i++) wsprintf(hashStr + i * 2, TEXT("%02x"), hash[i]); str2Clipboard(hashStr, _pPublicInterface->getHSelf());