void message_cleanup(struct message *m)
{
- if (m->out != NULL && m->pre != NULL && m->out != m->pre+m->pre_len)
+ if (m->out != NULL)
free(m->out);
- if (m->raw != NULL)
+ if (m->raw != NULL && m->raw != m->out)
free(m->raw);
- if (m->priv != NULL)
+ if (m->priv != NULL && (char*)m->priv != m->out && (char*)m->priv != m->raw)
free(m->priv);
_clear_message(m);
}
char **addrp;
#ifdef _WIN32
- // Start Winsock up
+ /* Start Winsock up */
WSADATA wsaData;
int nCode;
if ((nCode = WSAStartup(MAKEWORD(1, 1), &wsaData)) != 0) {
va_start(ap, msg);
if ((flags & SPAMC_LOG_TO_STDERR) != 0) {
- // create a log-line buffer
+ /* create a log-line buffer */
len = snprintf(buf, LOG_BUFSIZ, "spamc: ");
len += vsnprintf(buf+len, LOG_BUFSIZ-len, msg, ap);
- // avoid buffer overflow
+ /* avoid buffer overflow */
if (len > (LOG_BUFSIZ-2)) { len = (LOG_BUFSIZ-3); }
len += snprintf(buf+len, LOG_BUFSIZ-len, "\n");