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';
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';