netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3
@ 2013-07-22 17:24 Christoph Paasch
  2013-07-22 17:24 ` [PATCH iproute2 v2 1/2] ss: Fix compiler errors of unused return-values Christoph Paasch
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Christoph Paasch @ 2013-07-22 17:24 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev

gcc complains about unused return-values in ss.c and lnstat_util.c

Christoph Paasch (2):
  ss: Fix compiler errors of unused return-values
  lnstat: Fix compiler errors of unused return-values

 misc/lnstat_util.c | 12 ++++++++----
 misc/ss.c          | 33 ++++++++++++++++++++++++---------
 2 files changed, 32 insertions(+), 13 deletions(-)

-- 
1.8.1.2

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH iproute2 v2 1/2] ss: Fix compiler errors of unused return-values
  2013-07-22 17:24 [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3 Christoph Paasch
@ 2013-07-22 17:24 ` Christoph Paasch
  2013-07-22 17:24 ` [PATCH iproute2 v2 2/2] lnstat: " Christoph Paasch
  2013-07-22 17:34 ` [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3 Stephen Hemminger
  2 siblings, 0 replies; 6+ messages in thread
From: Christoph Paasch @ 2013-07-22 17:24 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev

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

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
---

Notes:
    v2: Add an error-message if fscanf fails, as suggested by Stephen Hemminger

 misc/ss.c | 33 ++++++++++++++++++++++++---------
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/misc/ss.c b/misc/ss.c
index c0369f1..be86223 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -302,7 +302,8 @@ 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)
+						perror("Could not parse process:");
 					fclose(fp);
 				}
 			}
@@ -384,7 +385,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 +512,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 +554,8 @@ 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)
+				perror("Could not parse port-range:");
 			fclose(f);
 		} else {
 			ip_local_port_min = 1024;
@@ -725,7 +732,8 @@ 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)
+					perror("Could not parse port-range:");
 				fclose(fp);
 			}
 		}
@@ -2361,7 +2369,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 +2638,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 +2847,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

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH iproute2 v2 2/2] lnstat: Fix compiler errors of unused return-values
  2013-07-22 17:24 [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3 Christoph Paasch
  2013-07-22 17:24 ` [PATCH iproute2 v2 1/2] ss: Fix compiler errors of unused return-values Christoph Paasch
@ 2013-07-22 17:24 ` Christoph Paasch
  2013-07-26 21:29   ` Stephen Hemminger
  2013-07-22 17:34 ` [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3 Stephen Hemminger
  2 siblings, 1 reply; 6+ messages in thread
From: Christoph Paasch @ 2013-07-22 17:24 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev

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

lnstat_util.c: In function ‘lnstat_scan_fields’:
lnstat_util.c:145:7: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
lnstat_util.c: In function ‘lnstat_update’:
lnstat_util.c:97:10: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
lnstat_util.c:111:9: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
lnstat_util.c: In function ‘scan_lines’:
lnstat_util.c:52:8: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Werror=unused-result]
cc1: all warnings being treated as errors
make[1]: *** [lnstat_util.o] Error 1
make[1]: Leaving directory `/home/christoph/workspace/linux/iproute2/misc'
make: *** [all] Error 2

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
---
 misc/lnstat_util.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/misc/lnstat_util.c b/misc/lnstat_util.c
index 9492baf..103c05d 100644
--- a/misc/lnstat_util.c
+++ b/misc/lnstat_util.c
@@ -49,7 +49,8 @@ static int scan_lines(struct lnstat_file *lf, int i)
 
 		num_lines++;
 
-		fgets(buf, sizeof(buf)-1, lf->fp);
+		if (!fgets(buf, sizeof(buf)-1, lf->fp))
+			return num_lines;
 		gettimeofday(&lf->last_read, NULL);
 
 		for (j = 0; j < lf->num_fields; j++) {
@@ -94,7 +95,8 @@ int lnstat_update(struct lnstat_file *lnstat_files)
 			rewind(lf->fp);
 			if (!lf->compat) {
 				/* skip first line */
-				fgets(buf, sizeof(buf)-1, lf->fp);
+				if (!fgets(buf, sizeof(buf)-1, lf->fp))
+					return 0;
 			}
 			scan_lines(lf, 1);
 
@@ -108,7 +110,8 @@ int lnstat_update(struct lnstat_file *lnstat_files)
 			}
 
 			rewind(lf->fp);
-			fgets(buf, sizeof(buf)-1, lf->fp);
+			if (!fgets(buf, sizeof(buf)-1, lf->fp))
+				return 0;
 			scan_lines(lf, 0);
 		}
 	}
@@ -142,7 +145,8 @@ static int lnstat_scan_fields(struct lnstat_file *lf)
 	char buf[FGETS_BUF_SIZE];
 
 	rewind(lf->fp);
-	fgets(buf, sizeof(buf)-1, lf->fp);
+	if (!fgets(buf, sizeof(buf)-1, lf->fp))
+		return -1;
 
 	return __lnstat_scan_fields(lf, buf);
 }
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3
  2013-07-22 17:24 [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3 Christoph Paasch
  2013-07-22 17:24 ` [PATCH iproute2 v2 1/2] ss: Fix compiler errors of unused return-values Christoph Paasch
  2013-07-22 17:24 ` [PATCH iproute2 v2 2/2] lnstat: " Christoph Paasch
@ 2013-07-22 17:34 ` Stephen Hemminger
  2013-07-22 18:03   ` Christoph Paasch
  2 siblings, 1 reply; 6+ messages in thread
From: Stephen Hemminger @ 2013-07-22 17:34 UTC (permalink / raw)
  To: Christoph Paasch; +Cc: netdev

On Mon, 22 Jul 2013 19:24:15 +0200
Christoph Paasch <christoph.paasch@uclouvain.be> wrote:

> gcc complains about unused return-values in ss.c and lnstat_util.c
> 
> Christoph Paasch (2):
>   ss: Fix compiler errors of unused return-values
>   lnstat: Fix compiler errors of unused return-values
> 
>  misc/lnstat_util.c | 12 ++++++++----
>  misc/ss.c          | 33 ++++++++++++++++++++++++---------
>  2 files changed, 32 insertions(+), 13 deletions(-)
> 

I think just turning on -Werror is less ugly.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3
  2013-07-22 17:34 ` [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3 Stephen Hemminger
@ 2013-07-22 18:03   ` Christoph Paasch
  0 siblings, 0 replies; 6+ messages in thread
From: Christoph Paasch @ 2013-07-22 18:03 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev

On 22/07/13 - 10:34:32, Stephen Hemminger wrote:
> On Mon, 22 Jul 2013 19:24:15 +0200
> Christoph Paasch <christoph.paasch@uclouvain.be> wrote:
> 
> > gcc complains about unused return-values in ss.c and lnstat_util.c
> > 
> > Christoph Paasch (2):
> >   ss: Fix compiler errors of unused return-values
> >   lnstat: Fix compiler errors of unused return-values
> > 
> >  misc/lnstat_util.c | 12 ++++++++----
> >  misc/ss.c          | 33 ++++++++++++++++++++++++---------
> >  2 files changed, 32 insertions(+), 13 deletions(-)
> > 
> 
> I think just turning on -Werror is less ugly.

I guess you mean turning -Werror off?

For me that's fine too, as long as iproute compiles on my machine. Should I
make a patch that removes -Werror?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH iproute2 v2 2/2] lnstat: Fix compiler errors of unused return-values
  2013-07-22 17:24 ` [PATCH iproute2 v2 2/2] lnstat: " Christoph Paasch
@ 2013-07-26 21:29   ` Stephen Hemminger
  0 siblings, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2013-07-26 21:29 UTC (permalink / raw)
  To: Christoph Paasch; +Cc: netdev

On Mon, 22 Jul 2013 19:24:17 +0200
Christoph Paasch <christoph.paasch@uclouvain.be> wrote:

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

Nak, I just took of Werror instead.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-07-26 21:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-22 17:24 [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3 Christoph Paasch
2013-07-22 17:24 ` [PATCH iproute2 v2 1/2] ss: Fix compiler errors of unused return-values Christoph Paasch
2013-07-22 17:24 ` [PATCH iproute2 v2 2/2] lnstat: " Christoph Paasch
2013-07-26 21:29   ` Stephen Hemminger
2013-07-22 17:34 ` [PATCH iproute2 v2 0/2] Fix compiler-errors with gcc 4.7.3 Stephen Hemminger
2013-07-22 18:03   ` Christoph Paasch

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).