mirror of
https://github.com/neovim/neovim.git
synced 2024-09-17 20:58:20 -04:00
fix(statusline): fix uninitialized variable and possible overflow
In file included from /usr/include/string.h:535, from gsrc/nvim/statusline.c:10: In function ‘strcat’, inlined from ‘build_stl_str_hl’ at gsrc/nvim/statusline.c:1688:9: /usr/include/bits/string_fortified.h:130:10: warning: ‘p’ may be used uninitialized [-Wmaybe-uninitialized] 130 | return __builtin___strcat_chk (__dest, __src, __glibc_objsize (__dest)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This commit is contained in:
parent
f5530bf566
commit
54f5602038
@ -1656,7 +1656,7 @@ int build_stl_str_hl(win_T *wp, char *out, size_t outlen, char *fmt, char *opt_n
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *p;
|
char *p = NULL;
|
||||||
if (fold) {
|
if (fold) {
|
||||||
size_t n = fill_foldcolumn(out_p, wp, stcp->foldinfo, (linenr_T)get_vim_var_nr(VV_LNUM));
|
size_t n = fill_foldcolumn(out_p, wp, stcp->foldinfo, (linenr_T)get_vim_var_nr(VV_LNUM));
|
||||||
stl_items[curitem].minwid = -((stcp->use_cul ? HLF_CLF : HLF_FC) + 1);
|
stl_items[curitem].minwid = -((stcp->use_cul ? HLF_CLF : HLF_FC) + 1);
|
||||||
@ -1678,14 +1678,17 @@ int build_stl_str_hl(win_T *wp, char *out, size_t outlen, char *fmt, char *opt_n
|
|||||||
stl_items[curitem].minwid = -(sattr ? stcp->sign_cul_id ? stcp->sign_cul_id
|
stl_items[curitem].minwid = -(sattr ? stcp->sign_cul_id ? stcp->sign_cul_id
|
||||||
: sattr->hl_id : (stcp->use_cul ? HLF_CLS : HLF_SC) + 1);
|
: sattr->hl_id : (stcp->use_cul ? HLF_CLS : HLF_SC) + 1);
|
||||||
}
|
}
|
||||||
|
size_t buflen = strlen(buf_tmp);
|
||||||
stl_items[curitem].type = Highlight;
|
stl_items[curitem].type = Highlight;
|
||||||
stl_items[curitem].start = out_p + strlen(buf_tmp);
|
stl_items[curitem].start = out_p + buflen;
|
||||||
curitem++;
|
curitem++;
|
||||||
if (i == width) {
|
if (i == width) {
|
||||||
str = buf_tmp;
|
str = buf_tmp;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
STRCAT(buf_tmp, p);
|
int rc = snprintf(buf_tmp + buflen, sizeof(buf_tmp) - buflen, "%s", p);
|
||||||
|
(void)rc; // Avoid unused warning on release build
|
||||||
|
assert(rc > 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user