aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilles Chehade <gilles@poolp.org>2013-02-05 11:13:55 +0100
committerGilles Chehade <gilles@poolp.org>2013-02-05 11:13:55 +0100
commitc125a99775d42697203eed0c9c56586c4fe7d06b (patch)
tree3803df6c783e95c0dc61f9729db09a608e2d5c04
parentMerge branch 'coverity-fixes' (diff)
parentmissing checks (diff)
downloadOpenSMTPD-c125a99775d42697203eed0c9c56586c4fe7d06b.tar.xz
OpenSMTPD-c125a99775d42697203eed0c9c56586c4fe7d06b.zip
Merge branch 'coverity-fixes'
-rw-r--r--smtpd/lka.c13
-rw-r--r--smtpd/smtp_session.c3
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);