diff options
author | Eric S. Raymond <esr@thyrsus.com> | 1999-09-14 10:30:57 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 1999-09-14 10:30:57 +0000 |
commit | 4ffbfff5fb9bf36ce88710470f7464ddb19fe35e (patch) | |
tree | d10f0102bac655b0430485fefe9516f3826821fe /fetchmail.c | |
parent | 461b0ab1be1eb105d8a7a0eb39c7c1b93596bb52 (diff) | |
download | fetchmail-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.c | 14 |
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 || |