size_t bodylen)
{
int retval = 0;
- char *reply, *tohdr;
+ char *reply, *reply2, *tohdr;
if(strchr(to, '@') == NULL) {
errno = 0;
reply);
myfree(reply);
write_rset(sockfd);
- checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ reply2 = checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ if (reply2 != NULL) myfree(reply2);
return MLMMJ_FROM;
}
retval = write_rcpt_to(sockfd, to);
reply = checkwait_smtpreply(sockfd, MLMMJ_RCPTTO);
if(reply) {
write_rset(sockfd);
- checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ reply2 = checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ if (reply2 != NULL) myfree(reply2);
if(mlmmjbounce && ((reply[0] == '4') || (reply[0] == '5'))
&& (reply[1] == '5')) {
myfree(reply);
log_error(LOG_ARGS, "Error with DATA. Reply = [%s]", reply);
myfree(reply);
write_rset(sockfd);
- checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ reply2 = checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ if (reply2 != NULL) myfree(reply2);
return MLMMJ_DATA;
}
"avail. Reply = [%s]", reply);
myfree(reply);
write_rset(sockfd);
- checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ reply2 = checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ if (reply2 != NULL) myfree(reply2);
return MLMMJ_DOT;
}
size_t bodylen, const char *verpextra)
{
int retval, i;
- char *reply;
+ char *reply, *reply2;
retval = write_mail_from(sockfd, from, verpextra);
if(retval) {
reply);
myfree(reply);
write_rset(sockfd);
- checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ reply2 = checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ if (reply2 != NULL) myfree(reply2);
return MLMMJ_FROM;
}
for(i = 0; i < addrs->count; i++) {
log_error(LOG_ARGS, "Error with DATA. Reply = [%s]", reply);
myfree(reply);
write_rset(sockfd);
- checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ reply2 = checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ if (reply2 != NULL) myfree(reply2);
return MLMMJ_DATA;
}
"avail. Reply = [%s]", reply);
myfree(reply);
write_rset(sockfd);
- checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ reply2 = checkwait_smtpreply(sockfd, MLMMJ_RSET);
+ if (reply2 != NULL) myfree(reply2);
return MLMMJ_DOT;
}