Mercurial > hg > mlmmj
changeset 115:4596dfc0d895
Use strncpy instead of memcpy
Add some free()'s
Remove some cruft
author | mmj |
---|---|
date | Thu, 27 May 2004 15:44:01 +1000 |
parents | 202340f490e0 |
children | f619b85b02d1 |
files | src/mlmmj-send.c |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/mlmmj-send.c Thu May 27 09:34:41 2004 +1000 +++ b/src/mlmmj-send.c Thu May 27 15:44:01 2004 +1000 @@ -107,7 +107,6 @@ pid_t pid = 0; if((c = strchr(myfrom, '@')) == NULL) { - log_error(LOG_ARGS, "strchr(%s, '@') = [%s]", myfrom, c); free(myfrom); return 0; /* Success when mailformed 'from' */ } @@ -120,8 +119,7 @@ len = num - myfrom - 1; addr = malloc(len + 1); addr[len] = '\0'; - memcpy(addr, myfrom, len); - errno = 0; + strncpy(addr, myfrom, len); pid = fork(); @@ -176,6 +174,7 @@ checkwait_smtpreply(sockfd, MLMMJ_RSET); if(mlmmjbounce && (reply[1] == '5') && ((reply[0] == '4') || (reply[0] == '5'))) { + free(reply); return bouncemail(listdir, mlmmjbounce, from); } else { log_error(LOG_ARGS, "Error in RCPT TO. Reply = [%s]", @@ -194,6 +193,7 @@ reply = checkwait_smtpreply(sockfd, MLMMJ_DATA); if(reply) { log_error(LOG_ARGS, "Error with DATA. Reply = [%s]", reply); + free(reply); write_rset(sockfd); checkwait_smtpreply(sockfd, MLMMJ_RSET); return MLMMJ_DATA; @@ -224,6 +224,7 @@ log_error(LOG_ARGS, "Mailserver did not ack end of mail.\n" "<CR><LF>.<CR><LF> was written, to no" "avail. Reply = [%s]", reply); + free(reply); write_rset(sockfd); checkwait_smtpreply(sockfd, MLMMJ_RSET); return MLMMJ_DOT;