console: linenoise: fix usage of an uninitialized buffer

Reported in https://github.com/espressif/esp-idf/issues/6440

The issue could occur if esp_console_config_t::hint_color
was set to -1.
This commit is contained in:
Ivan Grokhotkov 2022-03-11 20:52:15 +01:00
parent 49e8b97de3
commit eab33e7174
No known key found for this signature in database
GPG Key ID: 1E050E141B280628

View File

@ -501,9 +501,10 @@ void refreshShowHints(struct abuf *ab, struct linenoiseState *l, int plen) {
int hintmaxlen = l->cols-(plen+l->len);
if (hintlen > hintmaxlen) hintlen = hintmaxlen;
if (bold == 1 && color == -1) color = 37;
if (color != -1 || bold != 0)
if (color != -1 || bold != 0) {
snprintf(seq,64,"\033[%d;%d;49m",bold,color);
abAppend(ab,seq,strlen(seq));
abAppend(ab,seq,strlen(seq));
}
abAppend(ab,hint,hintlen);
if (color != -1 || bold != 0)
abAppend(ab,"\033[0m",4);