mirror of
https://github.com/Tha14/toxic.git
synced 2025-07-03 18:16:45 +02:00
safer string handling
This commit is contained in:
@ -340,25 +340,21 @@ static void friendlist_onConnectionChange(ToxWindow *self, Tox *m, int32_t num,
|
||||
|
||||
static void friendlist_onNickChange(ToxWindow *self, Tox *m, int32_t num, const char *nick, uint16_t len)
|
||||
{
|
||||
if (len > TOX_MAX_NAME_LENGTH || num >= Friends.max_idx)
|
||||
if (num >= Friends.max_idx)
|
||||
return;
|
||||
|
||||
/* save old name for log renaming */
|
||||
char oldname[TOXIC_MAX_NAME_LENGTH];
|
||||
char oldname[TOXIC_MAX_NAME_LENGTH + 1];
|
||||
snprintf(oldname, sizeof(oldname), "%s", Friends.list[num].name);
|
||||
|
||||
/* update name */
|
||||
char tempname[TOX_MAX_NAME_LENGTH];
|
||||
strcpy(tempname, nick);
|
||||
len = MIN(len, TOXIC_MAX_NAME_LENGTH - 1);
|
||||
tempname[len] = '\0';
|
||||
snprintf(Friends.list[num].name, sizeof(Friends.list[num].name), "%s", tempname);
|
||||
Friends.list[num].namelength = len;
|
||||
snprintf(Friends.list[num].name, sizeof(Friends.list[num].name), "%s", nick);
|
||||
Friends.list[num].namelength = strlen(Friends.list[num].name);
|
||||
|
||||
/* get data for chatlog renaming */
|
||||
char newnamecpy[TOXIC_MAX_NAME_LENGTH];
|
||||
char newnamecpy[TOXIC_MAX_NAME_LENGTH + 1];
|
||||
char myid[TOX_FRIEND_ADDRESS_SIZE];
|
||||
strcpy(newnamecpy, tempname);
|
||||
strcpy(newnamecpy, Friends.list[num].name);
|
||||
tox_get_address(m, (uint8_t *) myid);
|
||||
|
||||
if (strcmp(oldname, newnamecpy) != 0)
|
||||
|
Reference in New Issue
Block a user