diff --git a/lib/smtp.c b/lib/smtp.c index 333565955..4016741dc 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -2354,7 +2354,7 @@ CURLcode Curl_smtp_escape_eob(struct connectdata *conn, const ssize_t nread) } else if(smtp->eob) { /* A previous substring matched so output that first */ - memcpy(&scratch[si], SMTP_EOB + eob_sent, smtp->eob - eob_sent); + memcpy(&scratch[si], &SMTP_EOB[eob_sent], smtp->eob - eob_sent); si += smtp->eob - eob_sent; /* Then compare the first byte */ @@ -2372,7 +2372,7 @@ CURLcode Curl_smtp_escape_eob(struct connectdata *conn, const ssize_t nread) /* Do we have a match for CRLF. as per RFC-5321, sect. 4.5.2 */ if(SMTP_EOB_FIND_LEN == smtp->eob) { /* Copy the replacement data to the target buffer */ - memcpy(&scratch[si], SMTP_EOB_REPL + eob_sent, + memcpy(&scratch[si], &SMTP_EOB_REPL[eob_sent], SMTP_EOB_REPL_LEN - eob_sent); si += SMTP_EOB_REPL_LEN - eob_sent; smtp->eob = 0; @@ -2384,7 +2384,7 @@ CURLcode Curl_smtp_escape_eob(struct connectdata *conn, const ssize_t nread) if(smtp->eob - eob_sent) { /* A substring matched before processing ended so output that now */ - memcpy(&scratch[si], SMTP_EOB + eob_sent, smtp->eob - eob_sent); + memcpy(&scratch[si], &SMTP_EOB[eob_sent], smtp->eob - eob_sent); si += smtp->eob - eob_sent; }