diff --git a/src/command/command.c b/src/command/command.c index 4dd01730..e5c4d4a8 100644 --- a/src/command/command.c +++ b/src/command/command.c @@ -3448,7 +3448,7 @@ _cmd_xa(gchar **args, struct cmd_help_t help) static char * _ask_password(void) { - char *passwd = malloc(sizeof(char) * 21); + char *passwd = malloc(sizeof(char) * (MAX_PASSWORD_SIZE + 1)); status_bar_get_password(); status_bar_refresh(); inp_block(); diff --git a/src/config/accounts.h b/src/config/accounts.h index ba282eac..f28067f1 100644 --- a/src/config/accounts.h +++ b/src/config/accounts.h @@ -23,6 +23,8 @@ #ifndef ACCOUNTS_H #define ACCOUNTS_H +#define MAX_PASSWORD_SIZE 64 + #include "common.h" typedef struct prof_account_t { diff --git a/src/ui/inputwin.c b/src/ui/inputwin.c index 3d4164bd..39157c3f 100644 --- a/src/ui/inputwin.c +++ b/src/ui/inputwin.c @@ -35,6 +35,7 @@ #include "command/command.h" #include "common.h" +#include "config/accounts.h" #include "config/preferences.h" #include "config/theme.h" #include "log.h" @@ -206,7 +207,7 @@ inp_get_password(char *passwd) _clear_input(); _inp_win_refresh(); noecho(); - mvwgetnstr(inp_win, 0, 1, passwd, 20); + mvwgetnstr(inp_win, 0, 1, passwd, MAX_PASSWORD_SIZE); wmove(inp_win, 0, 0); echo(); status_bar_clear();