lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 20 Jul 2013 21:58:17 +0200 From: Christoph Paasch <christoph.paasch@...ouvain.be> To: Stephen Hemminger <stephen@...workplumber.org> Cc: netdev@...r.kernel.org Subject: [PATCH iproute2 1/2] ss: Fix compiler errors of unused return-values 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@...ouvain.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 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists