From 21c48bde5c1526e152bccc7b966ed4a6e223936c Mon Sep 17 00:00:00 2001 From: Jfreegman Date: Fri, 28 Mar 2014 03:46:00 -0400 Subject: [PATCH] string safety --- src/chat.c | 6 ++++-- src/friendlist.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/chat.c b/src/chat.c index f773d79..2989061 100644 --- a/src/chat.c +++ b/src/chat.c @@ -184,7 +184,8 @@ static void chat_onNickChange(ToxWindow *self, Tox *m, int32_t num, uint8_t *nic nick[TOXIC_MAX_NAME_LENGTH] = '\0'; len = strlen(nick) + 1; - memcpy(self->name, nick, len); + strcpy(self->name, nick); + self->name[len-1] = '\0'; } static void chat_onStatusChange(ToxWindow *self, Tox *m, int32_t num, uint8_t status) @@ -203,7 +204,8 @@ static void chat_onStatusMessageChange(ToxWindow *self, int32_t num, uint8_t *st StatusBar *statusbar = self->stb; statusbar->statusmsg_len = len; - memcpy(statusbar->statusmsg, status, len); + strcpy(statusbar->statusmsg, status); + statusbar->statusmsg[len-1] = '\0'; } static void chat_onFileSendRequest(ToxWindow *self, Tox *m, int32_t num, uint8_t filenum, diff --git a/src/friendlist.c b/src/friendlist.c index 929ece8..df26897 100644 --- a/src/friendlist.c +++ b/src/friendlist.c @@ -135,8 +135,9 @@ static void friendlist_onNickChange(ToxWindow *self, Tox *m, int32_t num, uint8_ return; str[TOXIC_MAX_NAME_LENGTH] = '\0'; + strcpy(friends[num].name, str); len = strlen(str) + 1; - memcpy(friends[num].name, str, len); + friends[num].name[len-1] = '\0'; friends[num].namelength = len; sort_friendlist_index(); } @@ -154,7 +155,8 @@ static void friendlist_onStatusMessageChange(ToxWindow *self, int32_t num, uint8 if (len > TOX_MAX_STATUSMESSAGE_LENGTH || num >= max_friends_index) return; - memcpy(friends[num].statusmsg, str, len); + strcpy(friends[num].statusmsg, str); + friends[num].statusmsg[len-1] = '\0'; friends[num].statusmsg_len = len; }