aboutsummaryrefslogtreecommitdiffstats
path: root/fetchmail.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1999-09-14 10:30:57 +0000
committerEric S. Raymond <esr@thyrsus.com>1999-09-14 10:30:57 +0000
commit4ffbfff5fb9bf36ce88710470f7464ddb19fe35e (patch)
treed10f0102bac655b0430485fefe9516f3826821fe /fetchmail.c
parent461b0ab1be1eb105d8a7a0eb39c7c1b93596bb52 (diff)
downloadfetchmail-4ffbfff5fb9bf36ce88710470f7464ddb19fe35e.tar.gz
fetchmail-4ffbfff5fb9bf36ce88710470f7464ddb19fe35e.tar.bz2
fetchmail-4ffbfff5fb9bf36ce88710470f7464ddb19fe35e.zip
Prevent a core-dump.
svn path=/trunk/; revision=2557
Diffstat (limited to 'fetchmail.c')
-rw-r--r--fetchmail.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/fetchmail.c b/fetchmail.c
index ceccfacf..ae6649ef 100644
--- a/fetchmail.c
+++ b/fetchmail.c
@@ -1094,7 +1094,19 @@ static int load_params(int argc, char **argv, int optind)
* to minimize DNS round trips.
*/
if (ctl->server.lead_server)
- ctl->server.truename = xstrdup(ctl->server.lead_server->truename);
+ {
+ char *leadname = ctl->server.lead_server->truename;
+
+ /* prevent core dump from ill-formed or duplicate entry */
+ if (!leadname)
+ {
+ report(stderr,
+ _("Lead server has no name."));
+ exit(PS_SYNTAX);
+ }
+
+ ctl->server.truename = xstrdup(leadname);
+ }
#ifdef HAVE_GETHOSTBYNAME
else if (ctl->server.preauthenticate==A_KERBEROS_V4 ||
ctl->server.preauthenticate==A_KERBEROS_V5 ||