diff options
| author | Gary Ching-Pang Lin <glin@suse.com> | 2012-09-24 17:27:52 +0800 |
|---|---|---|
| committer | Gary Ching-Pang Lin <glin@suse.com> | 2012-09-24 17:27:52 +0800 |
| commit | ff857b4b8da1e7bf12dc0ab31da74c8a99b9d47d (patch) | |
| tree | 8d13ed154f782ecbad6755880a93458c34fa3b84 | |
| parent | 215e462b10134c421a8c1d041a420feec1e0a1cf (diff) | |
| download | efi-boot-shim-ff857b4b8da1e7bf12dc0ab31da74c8a99b9d47d.tar.gz efi-boot-shim-ff857b4b8da1e7bf12dc0ab31da74c8a99b9d47d.zip | |
Define the max length of password
| -rw-r--r-- | MokManager.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/MokManager.c b/MokManager.c index ce577465..66d51523 100644 --- a/MokManager.c +++ b/MokManager.c @@ -4,6 +4,8 @@ #include <openssl/x509.h> #include "shim.h" +#define PASSWORD_LENGTH 16 + typedef struct { UINT32 MokSize; UINT8 *Mok; @@ -469,13 +471,14 @@ static UINT8 mok_deletion_prompt () { static UINT8 get_password (UINT32 *length, CHAR16 *password) { EFI_INPUT_KEY key; - CHAR16 input[16]; + CHAR16 input[PASSWORD_LENGTH]; int count = 0; do { key = get_keystroke(); - if ((count >= 16 && key.UnicodeChar != CHAR_BACKSPACE) || + if ((count >= PASSWORD_LENGTH && + key.UnicodeChar != CHAR_BACKSPACE) || key.UnicodeChar == CHAR_NULL || key.UnicodeChar == CHAR_TAB || key.UnicodeChar == CHAR_LINEFEED) { @@ -565,7 +568,7 @@ static EFI_STATUS store_keys (void *MokNew, UINTN MokNewSize) UINT8 auth[SHA256_DIGEST_SIZE]; UINTN auth_size; UINT32 attributes; - CHAR16 password[16]; + CHAR16 password[PASSWORD_LENGTH]; UINT32 pw_length; UINT8 fail_count = 0; |
