From 827c2c3823ba1923d3fb01e191997f6b9edd21a5 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 7 Apr 2014 12:02:29 +0200 Subject: all: report errors if calls to write() fail This also quiets compiler warnings for "ignored return values". --- src/squark-auth-ip.c | 5 ++++- src/squark-auth-snmp.c | 4 +++- src/squark-filter.c | 11 ++++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/squark-auth-ip.c b/src/squark-auth-ip.c index 677c008..20c7d35 100644 --- a/src/squark-auth-ip.c +++ b/src/squark-auth-ip.c @@ -13,6 +13,8 @@ #include #include #include +#include +#include #include "config.h" #include "blob.h" @@ -65,7 +67,8 @@ static void handle_line(blob_t line) } b = blob_pushed(BLOB_BUF(reply), b); - write(STDOUT_FILENO, b.ptr, b.len); + if(write(STDOUT_FILENO, b.ptr, b.len) < 0) + report_error("Error occurred while writing to stdout: %s", strerror(errno)); } static void read_input(void) diff --git a/src/squark-auth-snmp.c b/src/squark-auth-snmp.c index 05832d4..e9fabbe 100644 --- a/src/squark-auth-snmp.c +++ b/src/squark-auth-snmp.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -620,7 +621,8 @@ static void auth_completed(struct auth_context *auth) report_private_message(REPORT_WARNING, "%s failed: %s", addr_print(&auth->addr), auth->status_msg); } b = blob_pushed(BLOB_BUF(tmp), b); - write(STDOUT_FILENO, b.ptr, b.len); + if(write(STDOUT_FILENO, b.ptr, b.len) < 0) + report_error("Error occurred while writing to stdout: %s", strerror(errno)); auth_free(auth); num_queries--; diff --git a/src/squark-filter.c b/src/squark-filter.c index 19c3583..9eed4a7 100644 --- a/src/squark-filter.c +++ b/src/squark-filter.c @@ -15,6 +15,7 @@ #include #include #include +#include #include @@ -330,7 +331,8 @@ static void send_ok(blob_t tag, blob_t categ, int override) blob_push(&b, lf); b = blob_pushed(BLOB_BUF(buffer), b); - write(STDOUT_FILENO, b.ptr, b.len); + if(write(STDOUT_FILENO, b.ptr, b.len) < 0) + report_error("Error occurred while writing to stdout: %s\n", strerror(errno)); } static void send_redirect(blob_t redirect_page, blob_t tag, blob_t url, blob_t categ, blob_t username) @@ -353,7 +355,8 @@ static void send_redirect(blob_t redirect_page, blob_t tag, blob_t url, blob_t c blob_push(&b, lf); b = blob_pushed(BLOB_BUF(buffer), b); - write(STDOUT_FILENO, b.ptr, b.len); + if(write(STDOUT_FILENO, b.ptr, b.len) < 0) + report_error("Error occurred while writing to stdout: %s\n", strerror(errno)); } static void read_input(struct sqdb *db) @@ -372,8 +375,10 @@ static void read_input(struct sqdb *db) left = BLOB_BUF(buffer); r = read(STDIN_FILENO, left.ptr, left.len); - if (r < 0) + if (r < 0) { + report_error("Error occurred while reading from stdin: %s\n", strerror(errno)); return; + } if (r == 0) { running = 0; return; -- cgit v1.2.3