From 346211eeeb34e73a931b822f1496f696ed3970f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20F=C3=A6r=C3=B8y?= Date: Sat, 9 Feb 2019 22:42:13 +0100 Subject: [PATCH] Use memcpy() instead of strncpy() to silence the compiler warning. --- src/otr/otr.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/otr/otr.c b/src/otr/otr.c index 765bc048..9f0192e1 100644 --- a/src/otr/otr.c +++ b/src/otr/otr.c @@ -621,8 +621,10 @@ static enum otr_msg_status enqueue_otr_fragment(const char *msg, struct otr_peer opc->msg_size += msg_len + 1; } - /* Copy msg to full message since we already have a part pending. */ - strncpy(opc->full_msg + opc->msg_len, msg, msg_len); + /* Copy msg to full message since we already have a part pending. Note + * that we do not copy `msg`'s trailing nul byte because we explicit + * set opc->full_msg[opc->msg_len] to nul afterwards. */ + memcpy(opc->full_msg + opc->msg_len, msg, msg_len); opc->msg_len += msg_len; opc->full_msg[opc->msg_len] = '\0'; @@ -664,7 +666,7 @@ static enum otr_msg_status enqueue_otr_fragment(const char *msg, struct otr_peer return ret; } /* Copy full message with NULL terminated byte. */ - strncpy(opc->full_msg, msg, msg_len); + memcpy(opc->full_msg, msg, msg_len); opc->msg_len += msg_len; opc->msg_size += ((msg_len * 2) + 1); opc->full_msg[opc->msg_len] = '\0';