diff options
author | Gilles Chehade <gilles@poolp.org> | 2013-02-05 11:13:55 +0100 |
---|---|---|
committer | Gilles Chehade <gilles@poolp.org> | 2013-02-05 11:13:55 +0100 |
commit | c125a99775d42697203eed0c9c56586c4fe7d06b (patch) | |
tree | 3803df6c783e95c0dc61f9729db09a608e2d5c04 | |
parent | Merge branch 'coverity-fixes' (diff) | |
parent | missing checks (diff) | |
download | OpenSMTPD-c125a99775d42697203eed0c9c56586c4fe7d06b.tar.xz OpenSMTPD-c125a99775d42697203eed0c9c56586c4fe7d06b.zip |
Merge branch 'coverity-fixes'
-rw-r--r-- | smtpd/lka.c | 13 | ||||
-rw-r--r-- | smtpd/smtp_session.c | 3 |
2 files changed, 9 insertions, 7 deletions
diff --git a/smtpd/lka.c b/smtpd/lka.c index 5d79e9b9..62bd6f8c 100644 --- a/smtpd/lka.c +++ b/smtpd/lka.c @@ -335,16 +335,17 @@ lka_imsg(struct mproc *p, struct imsg *imsg) else if (ret == 0) m_add_int(p, LKA_PERMFAIL); else { - m_add_int(p, LKA_OK); - /* XXX find a nicer way? */ bzero(&hints, sizeof hints); hints.ai_flags = AI_NUMERICHOST; - getaddrinfo(src, NULL, &hints, &ai); + if (getaddrinfo(src, NULL, &hints, &ai) != 0) + m_add_int(p, LKA_TEMPFAIL); + else { + m_add_int(p, LKA_OK); + m_add_sockaddr(p, ai->ai_addr); + freeaddrinfo(ai); + } free(src); - - m_add_sockaddr(p, ai->ai_addr); - freeaddrinfo(ai); } } m_close(p); diff --git a/smtpd/smtp_session.c b/smtpd/smtp_session.c index 5feccd75..39c19dab 100644 --- a/smtpd/smtp_session.c +++ b/smtpd/smtp_session.c @@ -1287,7 +1287,8 @@ smtp_connected(struct smtp_session *s) s->id, s->hostname, ss_to_text(&s->ss)); sl = sizeof(ss); - getsockname(s->io.sock, (struct sockaddr*)&ss, &sl); + if (getsockname(s->io.sock, (struct sockaddr*)&ss, &sl) == -1) + fatal("getsockname"); m_create(p_mfa, IMSG_MFA_REQ_CONNECT, 0, 0, -1, 64 + strlen(s->hostname)); m_add_id(p_mfa, s->id); |