[LEDE-DEV] [PATCH uclient] Fix unused results warnings

Florian Fainelli f.fainelli at gmail.com
Sat Dec 3 09:58:55 PST 2016


Fixes:

uclient-http.c:385:8: error: ignoring return value of 'fread', declared with attribute warn_unused_result [-Werror=unused-result]
   fread(&val, sizeof(val), 1, f);
        ^

uclient-fetch.c: In function 'main':
uclient-fetch.c:664:12: error: ignoring return value of 'asprintf', declared with attribute warn_unused_result [-Werror=unused-result]
    asprintf(&auth_str, "%s:%s", username, password);
            ^
uclient-fetch.c: In function 'read_data_cb':
uclient-fetch.c:269:9: error: ignoring return value of 'write', declared with attribute warn_unused_result [-Werror=unused-result]
    write(output_fd, buf, len);

Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
---
 uclient-fetch.c | 16 +++++++++++-----
 uclient-http.c  |  5 ++++-
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/uclient-fetch.c b/uclient-fetch.c
index 4c603fbc1945..db13e81bf8d0 100644
--- a/uclient-fetch.c
+++ b/uclient-fetch.c
@@ -254,6 +254,7 @@ static void header_done_cb(struct uclient *cl)
 static void read_data_cb(struct uclient *cl)
 {
 	char buf[256];
+	size_t n;
 	int len;
 
 	if (!no_output && output_fd < 0)
@@ -265,8 +266,11 @@ static void read_data_cb(struct uclient *cl)
 			return;
 
 		out_bytes += len;
-		if (!no_output)
-			write(output_fd, buf, len);
+		if (!no_output) {
+			n = write(output_fd, buf, len);
+			if (n < len)
+				return;
+		}
 	}
 }
 
@@ -660,9 +664,11 @@ int main(int argc, char **argv)
 	uloop_init();
 
 	if (username) {
-		if (password)
-			asprintf(&auth_str, "%s:%s", username, password);
-		else
+		if (password) {
+			rc = asprintf(&auth_str, "%s:%s", username, password);
+			if (rc < 0)
+				return rc;
+		} else
 			auth_str = username;
 	}
 
diff --git a/uclient-http.c b/uclient-http.c
index 8d26bd4884be..80f40d0e40e3 100644
--- a/uclient-http.c
+++ b/uclient-http.c
@@ -379,11 +379,14 @@ get_cnonce(char *dest)
 {
 	uint32_t val = 0;
 	FILE *f;
+	size_t n;
 
 	f = fopen("/dev/urandom", "r");
 	if (f) {
-		fread(&val, sizeof(val), 1, f);
+		n = fread(&val, sizeof(val), 1, f);
 		fclose(f);
+		if (n != sizeof(val))
+			return;
 	}
 
 	bin_to_hex(dest, &val, sizeof(val));
-- 
2.9.3




More information about the Lede-dev mailing list