patch 8.2.3875: gcc complains about buffer overrun
Problem: gcc complains about buffer overrun. Solution: Use mch_memmove() instead of STRCPY(). (John Marriott)
This commit is contained in:
@ -222,11 +222,12 @@ dict_free_items(int copyID)
|
|||||||
dictitem_alloc(char_u *key)
|
dictitem_alloc(char_u *key)
|
||||||
{
|
{
|
||||||
dictitem_T *di;
|
dictitem_T *di;
|
||||||
|
size_t len = STRLEN(key);
|
||||||
|
|
||||||
di = alloc(offsetof(dictitem_T, di_key) + STRLEN(key) + 1);
|
di = alloc(offsetof(dictitem_T, di_key) + len + 1);
|
||||||
if (di != NULL)
|
if (di != NULL)
|
||||||
{
|
{
|
||||||
STRCPY(di->di_key, key);
|
mch_memmove(di->di_key, key, len + 1);
|
||||||
di->di_flags = DI_FLAGS_ALLOC;
|
di->di_flags = DI_FLAGS_ALLOC;
|
||||||
di->di_tv.v_lock = 0;
|
di->di_tv.v_lock = 0;
|
||||||
di->di_tv.v_type = VAR_UNKNOWN;
|
di->di_tv.v_type = VAR_UNKNOWN;
|
||||||
|
|||||||
@ -749,6 +749,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
3875,
|
||||||
/**/
|
/**/
|
||||||
3874,
|
3874,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user