mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-22 01:34:09 +00:00
Reserve two bytes at the end of the DDB input line in db_readline() to
hold the newline and nul terminator. Otherwise, there are cases where garbage may end up in the command history due to a lack of a nul terminator, or input may end up without room for a newline. MFC after: 3 days PR: 119079 Submitted by: Michael Plass <mfp49_freebsd@plass-family.net>
This commit is contained in:
parent
02f27f1cfa
commit
233f8184ec
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=176895
|
@ -302,6 +302,9 @@ db_readline(lstart, lsize)
|
|||
char * lstart;
|
||||
int lsize;
|
||||
{
|
||||
|
||||
if (lsize < 2)
|
||||
return (0);
|
||||
if (lsize != db_lhistlsize) {
|
||||
/*
|
||||
* (Re)initialize input line history. Throw away any
|
||||
|
@ -316,7 +319,7 @@ db_readline(lstart, lsize)
|
|||
db_force_whitespace(); /* synch output position */
|
||||
|
||||
db_lbuf_start = lstart;
|
||||
db_lbuf_end = lstart + lsize;
|
||||
db_lbuf_end = lstart + lsize - 2; /* Will append NL and NUL. */
|
||||
db_lc = lstart;
|
||||
db_le = lstart;
|
||||
|
||||
|
|
Loading…
Reference in a new issue