From ca0da3a36313d6b15367f906b7e0c250586718dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 13 Dec 2004 22:18:38 +0000 Subject: [PATCH] (handle_http_tcp): handle error from write(2) git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14398 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/connect.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/kdc/connect.c b/kdc/connect.c index 6d05d359d..82482b7f0 100644 --- a/kdc/connect.c +++ b/kdc/connect.c @@ -676,11 +676,19 @@ handle_http_tcp (struct descr *d) "

404 Not found

\r\n" "That page doesn't exist, maybe you are looking for " "Heimdal?\r\n"; - write(d->s, proto, strlen(proto)); - write(d->s, msg, strlen(msg)); kdc_log(0, "HTTP request from %s is non KDC request", d->addr_string); kdc_log(5, "HTTP request: %s", t); free(data); + if (write(d->s, proto, strlen(proto)) < 0) { + kdc_log(0, "HTTP write failed: %s: %s", + d->addr_string, strerror(errno)); + return -1; + } + if (write(d->s, msg, strlen(msg)) < 0) { + kdc_log(0, "HTTP write failed: %s: %s", + d->addr_string, strerror(errno)); + return -1; + } return -1; } { @@ -691,8 +699,16 @@ handle_http_tcp (struct descr *d) "Pragma: no-cache\r\n" "Content-type: application/octet-stream\r\n" "Content-transfer-encoding: binary\r\n\r\n"; - write(d->s, proto, strlen(proto)); - write(d->s, msg, strlen(msg)); + if (write(d->s, proto, strlen(proto)) < 0) { + kdc_log(0, "HTTP write failed: %s: %s", + d->addr_string, strerror(errno)); + return -1; + } + if (write(d->s, msg, strlen(msg)) < 0) { + kdc_log(0, "HTTP write failed: %s: %s", + d->addr_string, strerror(errno)); + return -1; + } } memcpy(d->buf, data, len); d->len = len;