# HG changeset patch # User carl # Date 1194740451 28800 # Node ID 2a67d31099c3f1de5ad29f61ab9207314469abda # Parent 004b855c6c1f5d49f05b9a706fa03d67f59803a1 fix null pointer dereference from missing HELO command diff -r 004b855c6c1f -r 2a67d31099c3 src/dnsbl.cpp --- a/src/dnsbl.cpp Sat Nov 10 10:52:50 2007 -0800 +++ b/src/dnsbl.cpp Sat Nov 10 16:20:51 2007 -0800 @@ -988,7 +988,7 @@ sfsistat mlfi_helo(SMFICTX * ctx, char *helohost) { mlfiPriv &priv = *MLFIPRIV; - priv.helo = (helohost) ? strdup(helohost) : strdup("missing"); + priv.helo = strdup(helohost); return SMFIS_CONTINUE; } @@ -999,6 +999,7 @@ priv.queueid = strdup(smfi_getsymval(ctx, "i")); priv.authenticated = smfi_getsymval(ctx, "{auth_authen}"); priv.client_name = smfi_getsymval(ctx, "_"); + if (!priv.helo) priv.helo = strdup("unknown"); if (priv.authenticated) priv.authenticated = strdup(priv.authenticated); if (priv.client_name) priv.client_name = strdup(priv.client_name); if (spamc != spamc_empty) {