patch 8.1.0436: can get the text of inputsecret() with getcmdline()
Problem: Can get the text of inputsecret() with getcmdline(). (Tommy Allen)
Solution: Don't return the text.
diff --git a/src/ex_getln.c b/src/ex_getln.c
index f08ae90..02c3e30 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1310,7 +1310,7 @@
if (c != Ctrl_N && c != Ctrl_G && (c != 'e'
|| (ccline.cmdfirstc == '=' && KeyTyped)
#ifdef FEAT_EVAL
- || cmdline_star
+ || cmdline_star > 0
#endif
))
{
@@ -1805,8 +1805,8 @@
new_cmdpos = -1;
if (c == '=')
{
- if (ccline.cmdfirstc == '=' // can't do this recursively
- || cmdline_star) // or when typing a password
+ if (ccline.cmdfirstc == '=' // can't do this recursively
+ || cmdline_star > 0) // or when typing a password
{
beep_flush();
c = ESC;
@@ -6506,8 +6506,11 @@
char_u *
get_cmdline_str(void)
{
- struct cmdline_info *p = get_ccline_ptr();
+ struct cmdline_info *p;
+ if (cmdline_star > 0)
+ return NULL;
+ p = get_ccline_ptr();
if (p == NULL)
return NULL;
return vim_strnsave(p->cmdbuff, p->cmdlen);