netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Paasch <christoph.paasch@uclouvain.be>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: netdev@vger.kernel.org
Subject: [PATCH iproute2 1/2] ss: Fix compiler errors of unused return-values
Date: Sat, 20 Jul 2013 21:58:17 +0200	[thread overview]
Message-ID: <1374350298-1177-2-git-send-email-christoph.paasch@uclouvain.be> (raw)
In-Reply-To: <1374350298-1177-1-git-send-email-christoph.paasch@uclouvain.be>

Many errors when compiling with gcc 4.7.3 about unused return-values
upon the calls to fgets and fscanf:

ss.c: In function ‘user_ent_hash_build’:
ss.c:305:12: error: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘get_slabstat’:
ss.c:387:7: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘init_service_resolver’:
ss.c:511:8: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘run_ssfilter’:
ss.c:728:11: error: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘is_ephemeral’:
ss.c:550:10: error: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘netlink_show’:
ss.c:2836:7: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘packet_show’:
ss.c:2630:7: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
ss.c: In function ‘unix_show’:
ss.c:2364:7: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
cc1: all warnings being treated as errors
make[1]: *** [ss.o] Error 1
make[1]: Leaving directory `/home/christoph/workspace/linux/iproute2/misc'
make: *** [all] Error 2

For the calls to fscanf we can't really do anything about it, and just
do an empty if-statement to make the compiler happy.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
---
 misc/ss.c | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

diff --git a/misc/ss.c b/misc/ss.c
index c0369f1..0f71108 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -302,7 +302,7 @@ static void user_ent_hash_build(void)
 
 				snprintf(tmp, sizeof(tmp), "%s/%d/stat", root, pid);
 				if ((fp = fopen(tmp, "r")) != NULL) {
-					fscanf(fp, "%*d (%[^)])", process);
+					if (fscanf(fp, "%*d (%[^)])", process) == EOF);
 					fclose(fp);
 				}
 			}
@@ -384,7 +384,10 @@ static int get_slabstat(struct slabstat *s)
 
 	cnt = sizeof(*s)/sizeof(int);
 
-	fgets(buf, sizeof(buf), fp);
+	if (!fgets(buf, sizeof(buf), fp)) {
+		fclose(fp);
+		return -1;
+	}
 	while(fgets(buf, sizeof(buf), fp) != NULL) {
 		int i;
 		for (i=0; i<sizeof(slabstat_ids)/sizeof(slabstat_ids[0]); i++) {
@@ -508,7 +511,10 @@ static void init_service_resolver(void)
 	char buf[128];
 	FILE *fp = popen("/usr/sbin/rpcinfo -p 2>/dev/null", "r");
 	if (fp) {
-		fgets(buf, sizeof(buf), fp);
+		if (!fgets(buf, sizeof(buf), fp)) {
+			pclose(fp);
+			return;
+		}
 		while (fgets(buf, sizeof(buf), fp) != NULL) {
 			unsigned int progn, port;
 			char proto[128], prog[128];
@@ -547,8 +553,7 @@ static int is_ephemeral(int port)
 	if (!ip_local_port_min) {
 		FILE *f = ephemeral_ports_open();
 		if (f) {
-			fscanf(f, "%d %d",
-			       &ip_local_port_min, &ip_local_port_max);
+			if (fscanf(f, "%d %d", &ip_local_port_min, &ip_local_port_max) == EOF);
 			fclose(f);
 		} else {
 			ip_local_port_min = 1024;
@@ -725,7 +730,7 @@ static int run_ssfilter(struct ssfilter *f, struct tcpstat *s)
                 if (!low) {
 			FILE *fp = ephemeral_ports_open();
 			if (fp) {
-				fscanf(fp, "%d%d", &low, &high);
+				if (fscanf(fp, "%d%d", &low, &high) == EOF);
 				fclose(fp);
 			}
 		}
@@ -2361,7 +2366,10 @@ static int unix_show(struct filter *f)
 
 	if ((fp = net_unix_open()) == NULL)
 		return -1;
-	fgets(buf, sizeof(buf)-1, fp);
+	if (!fgets(buf, sizeof(buf)-1, fp)) {
+		fclose(fp);
+		return -1;
+	}
 
 	if (memcmp(buf, "Peer", 4) == 0)
 		newformat = 1;
@@ -2627,7 +2635,10 @@ static int packet_show(struct filter *f)
 
 	if ((fp = net_packet_open()) == NULL)
 		return -1;
-	fgets(buf, sizeof(buf)-1, fp);
+	if (!fgets(buf, sizeof(buf)-1, fp)) {
+		fclose(fp);
+		return -1;
+	}
 
 	while (fgets(buf, sizeof(buf)-1, fp)) {
 		sscanf(buf, "%llx %*d %d %x %d %d %u %u %u",
@@ -2833,7 +2844,8 @@ static int netlink_show(struct filter *f)
 
 	if ((fp = net_netlink_open()) == NULL)
 		return -1;
-	fgets(buf, sizeof(buf)-1, fp);
+	if (!fgets(buf, sizeof(buf)-1, fp))
+		return -1;
 
 	while (fgets(buf, sizeof(buf)-1, fp)) {
 		sscanf(buf, "%llx %d %d %x %d %d %llx %d",
-- 
1.8.1.2

  reply	other threads:[~2013-07-20 20:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-20 19:58 [PATCH iproute2 0/2] Fix compiler-errors with gcc 4.7.3 Christoph Paasch
2013-07-20 19:58 ` Christoph Paasch [this message]
2013-07-22 14:54   ` [PATCH iproute2 1/2] ss: Fix compiler errors of unused return-values Stephen Hemminger
2013-07-22 15:06     ` Denis Kirjanov
2013-07-22 15:35       ` Stephen Hemminger
2013-07-22 15:14     ` Christoph Paasch
2013-07-22 15:38   ` Eric Dumazet
2013-07-22 17:26     ` Ben Hutchings
2013-07-20 19:58 ` [PATCH iproute2 2/2] lnstat: " Christoph Paasch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1374350298-1177-2-git-send-email-christoph.paasch@uclouvain.be \
    --to=christoph.paasch@uclouvain.be \
    --cc=netdev@vger.kernel.org \
    --cc=stephen@networkplumber.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).