From 87dddc94e16b0c744354328ee995b63f580ce91f Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:45:18 +0530 Subject: [PATCH 01/34] Add few more files to gitignore Signed-off-by: Shreenidhi Shedi --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 9184162..df7f816 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ *.patch *.rej *.orig +.vimrc +tags +cscope.out .gdb_history .gdbinit From ed1f8413dff99197c0f1f661edd640b608c1ee0c Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:46:27 +0530 Subject: [PATCH 02/34] arp: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- arp.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/arp.c b/arp.c index ae3990a..ca8e39b 100644 --- a/arp.c +++ b/arp.c @@ -388,7 +388,8 @@ static int arp_file(char *name) { char buff[1024]; char *sp, *args[32]; - int linenr, argc; + unsigned int linenr; + int argc; FILE *fp; if ((fp = fopen(name, "r")) == NULL) { @@ -532,7 +533,7 @@ static int arp_show(char *name) char mask[100]; char line[200]; char dev[100]; - int type, flags; + unsigned int type, flags; FILE *fp; const char *hostname; int num, entries = 0, showed = 0; @@ -559,7 +560,7 @@ static int arp_show(char *name) safe_strncpy(dev, "-", sizeof(dev)); /* Read the ARP cache entries. */ for (; fgets(line, sizeof(line), fp);) { - num = sscanf(line, "%s 0x%x 0x%x %99s %99s %99s\n", + num = sscanf(line, "%99s 0x%x 0x%x %99s %99s %99s\n", ip, &type, &flags, hwa, mask, dev); if (num < 4) break; @@ -568,14 +569,14 @@ static int arp_show(char *name) * This happens for incomplete ARP entries for which there is * no hardware address in the line. */ - num = sscanf(line, "%s 0x%x 0x%x %99s %99s\n", + num = sscanf(line, "%99s 0x%x 0x%x %99s %99s\n", ip, &type, &flags, mask, dev); hwa[0] = 0; } entries++; /* if the user specified hw-type differs, skip it */ - if (hw_set && (type != hw->type)) + if (hw_set && (type != (unsigned)hw->type)) continue; /* if the user specified address differs, skip it */ @@ -750,8 +751,10 @@ int main(int argc, char **argv) case 'V': version(); + break; case 'h': usage(E_USAGE); + break; case '?': default: usage(E_OPTERR); From 3ca7a6dddd6772490c706900caf5174d2c6c9168 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:46:42 +0530 Subject: [PATCH 03/34] hostname: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- hostname.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hostname.c b/hostname.c index 9dc5133..338eaa2 100644 --- a/hostname.c +++ b/hostname.c @@ -386,16 +386,17 @@ int main(int argc, char **argv) exit(1); } type = 'd'; - /* NOBREAK */ + /* fall through */ case 0: if (file) { setfilename(file, SETHOST); break; } - if (optind < argc) { + if (optind < (int)argc) { sethname(argv[optind]); break; } + /* fall through */ case 1: gethostname(myname, sizeof(myname)); if (opt_v) From e19cf0632e231124d4eb4412bd62cbb49ebdf858 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:47:13 +0530 Subject: [PATCH 04/34] ifconfig: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- ifconfig.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ifconfig.c b/ifconfig.c index bea77a9..d067251 100644 --- a/ifconfig.c +++ b/ifconfig.c @@ -787,7 +787,7 @@ int main(int argc, char **argv) #endif #if HAVE_AFINET { /* ipv4 address a.b.c.d */ - in_addr_t ip, nm, bc; + in_addr_t ip, nm = 0, bc = 0; safe_strncpy(host, *spp, (sizeof host)); if (inet_aftype.input(0, host, &_sa) < 0) { ap->herror(host); @@ -880,7 +880,7 @@ int main(int argc, char **argv) #if HAVE_AFINET { /* ipv4 address a.b.c.d */ - in_addr_t ip, nm, bc; + in_addr_t ip, nm = 0, bc = 0; safe_strncpy(host, *spp, (sizeof host)); if (inet_aftype.input(0, host, &_sa) < 0) { ap->herror(host); @@ -1064,7 +1064,6 @@ int main(int argc, char **argv) if (neednetmask) { goterr |= set_netmask(skfd, &ifr, samask); - didnetmask++; } if (opt_v && goterr) From 3cf99d34cab1accc270a203d616322f46d5565ad Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:47:35 +0530 Subject: [PATCH 05/34] iptunnel: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- include/util-ank.h | 2 -- iptunnel.c | 26 ++++++++++---------------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/include/util-ank.h b/include/util-ank.h index c78604a..daeeffa 100644 --- a/include/util-ank.h +++ b/include/util-ank.h @@ -67,10 +67,8 @@ extern int do_ipaddr(int argc, char **argv); extern int do_iproute(int argc, char **argv); extern int do_iprule(int argc, char **argv); extern int do_ipneigh(int argc, char **argv); -extern int do_iptunnel(int argc, char **argv); extern int do_iplink(int argc, char **argv); extern int do_ipmonitor(int argc, char **argv); -extern int do_multiaddr(int argc, char **argv); extern int do_qdisc(int argc, char **argv); extern int do_class(int argc, char **argv); extern int do_filter(int argc, char **argv); diff --git a/iptunnel.c b/iptunnel.c index 66274e4..66bbcf7 100644 --- a/iptunnel.c +++ b/iptunnel.c @@ -382,7 +382,7 @@ static int do_add(int cmd, int argc, char **argv) return -1; } -int do_del(int argc, char **argv) +static int do_del(int argc, char **argv) { struct ip_tunnel_parm p; @@ -402,7 +402,7 @@ int do_del(int argc, char **argv) return -1; } -void print_tunnel(struct ip_tunnel_parm *p) +static void print_tunnel(struct ip_tunnel_parm *p) { char s1[256]; char s2[256]; @@ -476,16 +476,18 @@ static int do_tunnels_list(struct ip_tunnel_parm *p) return -1; } - if (fgets(buf, sizeof(buf), fp)) + if (fgets(buf, sizeof(buf), fp)) { /* eat line */; - if (fgets(buf, sizeof(buf), fp)) + } + if (fgets(buf, sizeof(buf), fp)) { /* eat line */; + } while (fgets(buf, sizeof(buf), fp) != NULL) { char *ptr; buf[sizeof(buf) - 1] = 0; if ((ptr = strchr(buf, ':')) == NULL || - (*ptr++ = 0, sscanf(buf, "%s", name) != 1)) { + (*ptr++ = 0, sscanf(buf, "%511s", name) != 1)) { fprintf(stderr, _("Wrong format of /proc/net/dev. Sorry.\n")); fclose(fp); return -1; @@ -517,10 +519,10 @@ static int do_tunnels_list(struct ip_tunnel_parm *p) print_tunnel(&p1); if (show_stats) { printf(_("RX: Packets Bytes Errors CsumErrs OutOfSeq Mcasts\n")); - printf(" %-10ld %-12ld %-6ld %-8ld %-8ld %-8ld\n", + printf(" %-10lu %-12lu %-6lu %-8lu %-8lu %-8lu\n", rx_packets, rx_bytes, rx_errs, rx_frame, rx_fifo, rx_multi); printf(_("TX: Packets Bytes Errors DeadLoop NoRoute NoBufs\n")); - printf(" %-10ld %-12ld %-6ld %-8ld %-8ld %-6ld\n\n", + printf(" %-10lu %-12lu %-6lu %-8lu %-8lu %-6lu\n\n", tx_packets, tx_bytes, tx_errs, tx_colls, tx_carrier, tx_drops); } } @@ -557,7 +559,7 @@ static int do_show(int argc, char **argv) return 0; } -int do_iptunnel(int argc, char **argv) +static int do_iptunnel(int argc, char **argv) { if (argc > 0) { if (matches(*argv, "add") == 0) @@ -583,20 +585,12 @@ int resolve_hosts = 0; int main(int argc, char **argv) { - char *basename; - #if I18N setlocale (LC_ALL, ""); bindtextdomain("net-tools", "/usr/share/locale"); textdomain("net-tools"); #endif - basename = strrchr(argv[0], '/'); - if (basename == NULL) - basename = argv[0]; - else - basename++; - while (argc > 1) { if (argv[1][0] != '-') break; From ed744fab7e81fcb600a57568869569cf23b5b09a Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:47:56 +0530 Subject: [PATCH 06/34] ipmaddr: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- ipmaddr.c | 41 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/ipmaddr.c b/ipmaddr.c index 623fadd..9c47166 100644 --- a/ipmaddr.c +++ b/ipmaddr.c @@ -75,7 +75,7 @@ static int parse_lla(char *str, char *addr) int len=0; while (*str) { - int tmp; + unsigned int tmp; if (str[0] == ':' || str[0] == '.') { str++; continue; @@ -93,10 +93,10 @@ static int parse_lla(char *str, char *addr) static int parse_hex(char *str, unsigned char *dst, size_t dstlen) { - int len=0; + size_t len = 0; while (len < dstlen && *str) { - int tmp; + unsigned int tmp; if (str[1] == 0) return -1; if (sscanf(str, "%02x", &tmp) != 1) @@ -118,7 +118,7 @@ struct ma_info inet_prefix addr; }; -void maddr_ins(struct ma_info **lst, struct ma_info *m) +static void maddr_ins(struct ma_info **lst, struct ma_info *m) { struct ma_info *mp; @@ -130,7 +130,7 @@ void maddr_ins(struct ma_info **lst, struct ma_info *m) *lst = m; } -void read_dev_mcast(struct ma_info **result_p) +static void read_dev_mcast(struct ma_info **result_p) { char buf[256]; FILE *fp = fopen(_PATH_PROCNET_DEV_MCAST, "r"); @@ -145,7 +145,7 @@ void read_dev_mcast(struct ma_info **result_p) int st; memset(&m, 0, sizeof(m)); - sscanf(buf, "%d%s%d%d%s", &m.index, m.name, &m.users, &st, + sscanf(buf, "%d%15s%d%d%255s", &m.index, m.name, &m.users, &st, hexa); if (filter_dev[0] && strcmp(filter_dev, m.name)) continue; @@ -166,7 +166,7 @@ void read_dev_mcast(struct ma_info **result_p) fclose(fp); } -void read_igmp(struct ma_info **result_p) +static void read_igmp(struct ma_info **result_p) { struct ma_info m, *ma = NULL; char buf[256]; @@ -175,8 +175,9 @@ void read_igmp(struct ma_info **result_p) if (!fp) return; memset(&m, 0, sizeof(m)); - if (fgets(buf, sizeof(buf), fp)) + if (fgets(buf, sizeof(buf), fp)) { /* eat line */; + } m.addr.family = AF_INET; m.addr.bitlen = 32; @@ -184,7 +185,7 @@ void read_igmp(struct ma_info **result_p) while (fgets(buf, sizeof(buf), fp)) { if (buf[0] != '\t') { - sscanf(buf, "%d%s", &m.index, m.name); + sscanf(buf, "%d%15s", &m.index, m.name); continue; } @@ -200,8 +201,7 @@ void read_igmp(struct ma_info **result_p) fclose(fp); } - -void read_igmp6(struct ma_info **result_p) +static void read_igmp6(struct ma_info **result_p) { char buf[256]; FILE *fp = fopen(_PATH_PROCNET_IGMP6, "r"); @@ -215,7 +215,7 @@ void read_igmp6(struct ma_info **result_p) int len; memset(&m, 0, sizeof(m)); - sscanf(buf, "%d%s%s%d", &m.index, m.name, hexa, &m.users); + sscanf(buf, "%d%15s%255s%d", &m.index, m.name, hexa, &m.users); if (filter_dev[0] && strcmp(filter_dev, m.name)) continue; @@ -289,7 +289,7 @@ static int multiaddr_list(int argc, char **argv) if (strcmp(*argv, "dev") == 0) { NEXT_ARG(); l = strlen(*argv); - if (l <= 0 || l >= sizeof(filter_dev)) + if (l == 0 || l >= sizeof(filter_dev)) usage(E_OPTERR); strncpy(filter_dev, *argv, sizeof (filter_dev)); } else if (strcmp(*argv, "all") == 0) { @@ -302,7 +302,7 @@ static int multiaddr_list(int argc, char **argv) filter_family = AF_PACKET; } else { l = strlen(*argv); - if (l <= 0 || l >= sizeof(filter_dev)) + if (l == 0 || l >= sizeof(filter_dev)) usage(E_OPTERR); strncpy(filter_dev, *argv, sizeof (filter_dev)); } @@ -319,7 +319,7 @@ static int multiaddr_list(int argc, char **argv) return 0; } -int multiaddr_modify(int cmd, int argc, char **argv) +static int multiaddr_modify(int cmd, int argc, char **argv) { struct ifreq ifr; int fd; @@ -362,8 +362,7 @@ int multiaddr_modify(int cmd, int argc, char **argv) exit(0); } - -int do_multiaddr(int argc, char **argv) +static int do_multiaddr(int argc, char **argv) { if (argc < 1) return multiaddr_list(0, NULL); @@ -383,20 +382,12 @@ int resolve_hosts = 0; int main(int argc, char **argv) { - char *basename; - #if I18N setlocale (LC_ALL, ""); bindtextdomain("net-tools", "/usr/share/locale"); textdomain("net-tools"); #endif - basename = strrchr(argv[0], '/'); - if (basename == NULL) - basename = argv[0]; - else - basename++; - while (argc > 1) { if (argv[1][0] != '-') break; From 4b35b534119d0b7862b4d1ae24f164b575f4779b Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:49:08 +0530 Subject: [PATCH 07/34] mii-tool: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- mii-tool.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mii-tool.c b/mii-tool.c index 4de2351..aabef6e 100644 --- a/mii-tool.c +++ b/mii-tool.c @@ -163,7 +163,8 @@ const struct { /* Parse an argument list of media types */ static int parse_media(char *arg, unsigned *bmcr2) { - int mask, i; + int mask; + unsigned i; char *s; mask = strtoul(arg, &s, 16); if ((*arg != '\0') && (*s == '\0')) { @@ -234,10 +235,11 @@ static unsigned char bitreverse_byte(unsigned char byte) return byte; } -int show_basic_mii(int sock, int phy_id) +static int show_basic_mii(int sock, int phy_id) { char buf[200]; - int i, mii_val[32]; + int mii_val[32]; + unsigned int i; unsigned bmcr, bmsr, advert, lkpar, bmcr2, lpa2; /* Some bits in the BMSR are latched, but we can't rely on being From 834a4e6aa5632846a8479093f0141738b23e4725 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:49:58 +0530 Subject: [PATCH 08/34] nameif: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- nameif.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nameif.c b/nameif.c index 3dce4c3..a8334ed 100644 --- a/nameif.c +++ b/nameif.c @@ -211,8 +211,10 @@ int main(int ac, char **av) switch (c) { default: usage(E_OPTERR); + break; case 'h': usage(E_USAGE); + break; case 'c': fname = optarg; break; From b7e47c2774dd32cf830b7fd8b866fd9745d390d2 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:50:07 +0530 Subject: [PATCH 09/34] netstat: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- netstat.c | 87 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 47 insertions(+), 40 deletions(-) diff --git a/netstat.c b/netstat.c index b8be850..074d390 100644 --- a/netstat.c +++ b/netstat.c @@ -368,7 +368,7 @@ static int extract_type_1_socket_inode(const char lname[], unsigned long * inode strncpy(inode_str, lname+PRG_SOCKET_PFXl, inode_str_len); inode_str[inode_str_len] = '\0'; *inode_p = strtoul(inode_str, &serr, 0); - if (!serr || *serr || *inode_p == ~0) + if (!serr || *serr || errno) return(-1); } return(0); @@ -387,7 +387,7 @@ static int extract_type_2_socket_inode(const char lname[], unsigned long * inode char *serr; *inode_p = strtoul(lname + PRG_SOCKET_PFX2l, &serr, 0); - if (!serr || *serr || *inode_p == ~0) + if (!serr || *serr || errno) return(-1); } return(0); @@ -398,13 +398,13 @@ static void prg_cache_load(void) { char line[LINE_MAX], eacces=0; int procfdlen, fd, cmdllen, lnamelen; - char lname[30], cmdlbuf[512], finbuf[PROGNAME_WIDTH]; + char lname[30], cmdlbuf[512], finbuf[1024]; unsigned long inode; const char *cs, *cmdlp; DIR *dirproc = NULL, *dirfd = NULL; struct dirent *direproc, *direfd; #if HAVE_SELINUX - security_context_t scon = NULL; + char *scon = NULL; #endif if (prg_cache_loaded || !flag_prg) return; @@ -418,7 +418,7 @@ static void prg_cache_load(void) if (*cs) continue; procfdlen = snprintf(line,sizeof(line),PATH_PROC_X_FD,direproc->d_name); - if (procfdlen <= 0 || procfdlen >= sizeof(line) - 5) + if (procfdlen <= 0 || procfdlen >= (int)sizeof(line) - 5) continue; errno = 0; dirfd = opendir(line); @@ -462,7 +462,7 @@ static void prg_cache_load(void) continue; if (cmdllen == -1) continue; - if (cmdllen < sizeof(cmdlbuf) - 1) + if (cmdllen < (int)sizeof(cmdlbuf) - 1) cmdlbuf[cmdllen]='\0'; else // cmdlbuf[sizeof(cmdlbuf) - 1) is already \0 @@ -543,14 +543,15 @@ static int netrom_info(void) } printf(_("Active NET/ROM sockets\n")); printf(_("User Dest Source Device State Vr/Vs Send-Q Recv-Q\n")); - if (fgets(buffer, 256, f)) + if (fgets(buffer, 256, f)) { /* eat line */; + } while (fgets(buffer, 256, f)) { buffer[9] = 0; buffer[19] = 0; buffer[29] = 0; - ret = sscanf(buffer + 30, "%s %*x/%*x %*x/%*x %d %d %d %*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d %d %d %*d", + ret = sscanf(buffer + 30, "%15s %*x/%*x %*x/%*x %d %d %d %*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d %d %d %*d", dev, &st, &vs, &vr, &sendq, &recvq); if (ret != 6) { printf(_("Problem reading data from %s\n"), _PATH_PROCNET_NR); @@ -738,12 +739,12 @@ static void igmp_do_one(int lnr, const char *line,const char *prot) #if HAVE_AFINET if (line[0] != '\t') { if (idx_flag) { - if ((num = sscanf(line, "%d\t%15c", &idx, device)) < 2) { + if (sscanf(line, "%d\t%15c", &idx, device) < 2) { fprintf(stderr, _("warning, got bogus igmp line %d.\n"), lnr); return; } } else { - if ((num = sscanf(line, "%15c", device)) < 1 ) { + if (sscanf(line, "%15c", device) < 1) { fprintf(stderr, _("warning, got bogus igmp line %d.\n"), lnr); return; } @@ -754,16 +755,13 @@ static void igmp_do_one(int lnr, const char *line,const char *prot) *offset = 0; return; - } else if ( line[0] == '\t' ) { - if ( (num = sscanf(line, "\t%8[0-9A-Fa-f] %d", mcast_addr, &refcnt)) < 2 ) { + } else { + if (sscanf(line, "\t%8[0-9A-Fa-f] %d", mcast_addr, &refcnt) < 2) { fprintf(stderr, _("warning, got bogus igmp line %d.\n"), lnr); return; } sscanf(mcast_addr, "%X", &sin->sin_addr.s_addr); sas.ss_family = AF_INET; - } else { - fprintf(stderr, _("warning, got bogus igmp line %d.\n"), lnr); - return; } if ((ap = get_afntype(sas.ss_family)) == NULL) { @@ -784,7 +782,7 @@ static int x25_info(void) FILE *f=proc_fopen(_PATH_PROCNET_X25); char buffer[256],dev[16]; int st,vs,vr,sendq,recvq,lci; - static char *x25_state[5]= + static const char *x25_state[5]= { "LISTENING", "SABM_SENT", @@ -808,13 +806,14 @@ static int x25_info(void) printf( _("Active X.25 sockets\n")); /* IMHO, Vr/Vs is not very usefull --SF */ printf( _("Dest Source Device LCI State Vr/Vs Send-Q Recv-Q\n")); - if (fgets(buffer,256,f)) + if (fgets(buffer,256,f)) { /* eat line */; + } while(fgets(buffer,256,f)) { buffer[10]=0; buffer[20]=0; - sscanf(buffer+22,"%s %d %d %d %d %*d %*d %*d %*d %*d %*d %d %d %*d", + sscanf(buffer+22,"%15s %d %d %d %d %*d %*d %*d %*d %*d %*d %d %d %*d", dev,&lci,&st,&vs,&vr,&sendq,&recvq); if (!(flag_all || lci)) continue; @@ -838,7 +837,7 @@ static int igmp_info(void) static const char *sctp_socket_state_str(int state) { - if (state >= 0 && state < ARRAY_SIZE(tcp_state)) + if (state >= 0 && state < (int)ARRAY_SIZE(tcp_state)) return tcp_state[state]; else { static char state_str_buf[64]; @@ -1129,7 +1128,8 @@ static void addr_do_one(char *buf, size_t buf_len, size_t short_len, const struc static void tcp_do_one(int lnr, const char *line, const char *prot) { unsigned long rxq, txq, time_len, retr, inode; - int num, local_port, rem_port, d, state, uid, timer_run, timeout; + int num, d, uid, timeout; + unsigned int local_port, rem_port, state, timer_run; char rem_addr[128], local_addr[128], timers[64]; const struct aftype *ap; struct sockaddr_storage localsas, remsas; @@ -1223,7 +1223,7 @@ static void tcp_do_one(int lnr, const char *line, const char *prot) break; } - printf("%-4s %6ld %6ld %-*s %-*s %-11s", + printf("%-4s %6lu %6lu %-*s %-*s %-11s", prot, rxq, txq, (int)netmax(23,strlen(local_addr)), local_addr, (int)netmax(23,strlen(rem_addr)), rem_addr, _(tcp_state[state])); finish_this_one(uid,inode,timers); @@ -1257,7 +1257,8 @@ static void udp_do_one(int lnr, const char *line,const char *prot) { char local_addr[128], rem_addr[128]; char *udp_state, timers[64]; - int num, local_port, rem_port, d, state, timer_run, uid, timeout; + int num, d, uid, timeout; + unsigned int local_port, rem_port, timer_run, state; struct sockaddr_storage localsas, remsas; struct sockaddr_in *localaddr = (struct sockaddr_in *)&localsas; struct sockaddr_in *remaddr = (struct sockaddr_in *)&remsas; @@ -1348,7 +1349,7 @@ static void udp_do_one(int lnr, const char *line,const char *prot) retr, timeout); break; } - printf("%-5s %6ld %6ld %-23s %-23s %-11s", + printf("%-5s %6lu %6lu %-23s %-23s %-11s", prot, rxq, txq, local_addr, rem_addr, udp_state); finish_this_one(uid,inode,timers); @@ -1371,7 +1372,8 @@ static void raw_do_one(int lnr, const char *line,const char *prot) { char local_addr[128], rem_addr[128]; char timers[64]; - int num, local_port, rem_port, d, state, timer_run, uid, timeout; + int num, d, uid, timeout; + unsigned int local_port, rem_port, state, timer_run; struct sockaddr_storage localsas, remsas; struct sockaddr_in *localaddr = (struct sockaddr_in *)&localsas; struct sockaddr_in *remaddr = (struct sockaddr_in *)&remsas; @@ -1447,7 +1449,7 @@ static void raw_do_one(int lnr, const char *line,const char *prot) retr, timeout); break; } - printf("%-4s %6ld %6ld %-23s %-23s %-11d", + printf("%-4s %6lu %6lu %-23s %-23s %-11u", prot, rxq, txq, local_addr, rem_addr, state); finish_this_one(uid,inode,timers); @@ -1472,7 +1474,8 @@ static void unix_do_one(int nr, const char *line, const char *prot) static int has = 0; char path[MAXPATHLEN], ss_flags[32]; char *ss_proto, *ss_state, *ss_type; - int num, state, type; + int num; + unsigned int state, type; void *d; unsigned long refcnt, proto, flags, inode; @@ -1483,7 +1486,7 @@ static void unix_do_one(int nr, const char *line, const char *prot) return; } path[0] = '\0'; - num = sscanf(line, "%p: %lX %lX %lX %X %X %lu %s", + num = sscanf(line, "%p: %lX %lX %lX %X %X %lu %1023s", &d, &refcnt, &proto, &flags, &type, &state, &inode, path); if (num < 6) { fprintf(stderr, _("warning, got bogus unix line.\n")); @@ -1579,7 +1582,7 @@ static void unix_do_one(int nr, const char *line, const char *prot) strcat(ss_flags, "]"); - printf("%-5s %-6ld %-11s %-10s %-13s ", + printf("%-5s %-6lu %-11s %-10s %-13s ", ss_proto, refcnt, ss_flags, ss_type, ss_state); if (has & HAS_INODE) printf("%-8lu",inode); @@ -1667,7 +1670,7 @@ static int ax25_info(void) src = buffer + 10; dst[9] = 0; src[9] = 0; - ret = sscanf(buffer + 20, "%s %d %d %d %*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d %*d %*d %d %d %*d", + ret = sscanf(buffer + 20, "%15s %d %d %d %*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d %*d %*d %d %d %*d", buf, &st, &vs, &vr, &sendq, &recvq); if (ret != 4 && ret != 6) { printf(_("Problem reading data from %s\n"), _PATH_PROCNET_AX25); @@ -1769,11 +1772,12 @@ static int ipx_info(void) fclose(f); return (-1); } - if (fgets(buf, 255, f)) + if (fgets(buf, 255, f)) { /* eat line */; + } while (fgets(buf, 255, f) != NULL) { - sscanf(buf, "%s %s %lX %lX %u %u", + sscanf(buf, "%49s %49s %lX %lX %u %u", sad, dad, &txq, &rxq, &state, &uid); if ((st = rindex(sad, ':'))) { *st++ = '\0'; @@ -1823,12 +1827,12 @@ static int ipx_info(void) } else safe_strncpy(dad, "-", sizeof(dad)); - printf("IPX %6ld %6ld %-26s %-26s %-5s", txq, rxq, sad, dad, st); + printf("IPX %6lu %6lu %-26s %-26s %-5s", txq, rxq, sad, dad, st); if (flag_exp > 1) { if (!(flag_not & FLAG_NUM_USER) && ((pw = getpwuid(uid)) != NULL)) printf(" %-10s", pw->pw_name); else - printf(" %-10d", uid); + printf(" %-10u", uid); } printf("\n"); } @@ -1838,7 +1842,7 @@ static int ipx_info(void) #endif #if HAVE_AFBLUETOOTH -const char *bluetooth_state(int state) +static const char *bluetooth_state(int state) { switch (state) { case BT_CONNECTED: @@ -1872,11 +1876,11 @@ static void l2cap_do_one(int nr, const char *line, const char *prot) const char *bt_state, *bt_sec_level; (void)nr; (void)prot; /* unused */ - num = sscanf(line, "%17s (%u) %17s (%u) %d %d 0x%04x 0x%04x %d %d %d", + num = sscanf(line, "%17s (%u) %17s (%u) %u %u 0x%04x 0x%04x %u %u %u", daddr, &dtype, saddr, &stype, &state, &psm, &dcid, &scid, &imtu, &omtu, &sec_level); if (num != 11) { - num = sscanf(line, "%17s %17s %d %d 0x%04x 0x%04x %d %d %d", + num = sscanf(line, "%17s %17s %u %u 0x%04x 0x%04x %u %u %u", daddr, saddr, &state, &psm, &dcid, &scid, &imtu, &omtu, &sec_level); if (num != 9) { @@ -1908,7 +1912,7 @@ static void l2cap_do_one(int nr, const char *line, const char *prot) bt_sec_level = _("UNKNOWN"); } - printf("l2cap %-17s %-17s %-9s %7d 0x%04x 0x%04x %7d %7d %-7s\n", + printf("l2cap %-17s %-17s %-9s %7u 0x%04x 0x%04x %7u %7u %-7s\n", (strcmp (daddr, "00:00:00:00:00:00") == 0 ? "*" : daddr), (strcmp (saddr, "00:00:00:00:00:00") == 0 ? "*" : saddr), bt_state, psm, dcid, scid, imtu, omtu, bt_sec_level); @@ -1929,7 +1933,7 @@ static void rfcomm_do_one(int nr, const char *line, const char *prot) const char *bt_state; (void)nr; (void)prot; /* unused */ - num = sscanf(line, "%17s %17s %d %d", daddr, saddr, &state, &channel); + num = sscanf(line, "%17s %17s %u %u", daddr, saddr, &state, &channel); if (num < 4) { fprintf(stderr, _("warning, got bogus rfcomm line.\n")); return; @@ -1941,7 +1945,7 @@ static void rfcomm_do_one(int nr, const char *line, const char *prot) return; bt_state = bluetooth_state(state); - printf("rfcomm %-17s %-17s %-9s %7d\n", + printf("rfcomm %-17s %-17s %-9s %7u\n", (strcmp (daddr, "00:00:00:00:00:00") == 0 ? "*" : daddr), (strcmp (saddr, "00:00:00:00:00:00") == 0 ? "*" : saddr), bt_state, channel); @@ -2169,6 +2173,7 @@ int main case 'V': version(); /*NOTREACHED */ + break; case 'v': flag_ver |= FLAG_VERBOSE; break; @@ -2216,8 +2221,10 @@ int main break; case '?': usage(E_OPTERR); + break; case 'h': usage(E_USAGE); + break; case 's': flag_sta++; } @@ -2311,7 +2318,7 @@ int main if (flag_int) { for (;;) { i = iface_info(); - if (!flag_cnt || i) + if (!flag_cnt) break; wait_continous(); } From 4fe55d919012fb6de7994699d68f196c1b53fe47 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:50:11 +0530 Subject: [PATCH 10/34] plipconfig: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- plipconfig.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plipconfig.c b/plipconfig.c index f4f94f6..fa25434 100644 --- a/plipconfig.c +++ b/plipconfig.c @@ -66,7 +66,7 @@ static void usage(int rc) exit(rc); } -void print_plip(void) +static void print_plip(void) { printf(_("%s\tnibble %lu trigger %lu\n"), ifr.ifr_name, plip->nibble, plip->trigger); } From 3e0feafe15a52ccacebfc7a3d60613d0ea057533 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:50:16 +0530 Subject: [PATCH 11/34] rarp: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- rarp.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/rarp.c b/rarp.c index 2464064..7313861 100644 --- a/rarp.c +++ b/rarp.c @@ -89,7 +89,7 @@ static int rarp_set(int fd, struct hostent *hp, char *hw_addr) { struct arpreq req; struct sockaddr_in *si; - struct sockaddr_storage sas; + struct sockaddr_storage sas = {}; struct sockaddr *sap = (struct sockaddr *)&sas; if (hardware->input(hw_addr, &sas)) { @@ -205,7 +205,7 @@ static struct option longopts[] = int main(int argc, char **argv) { - int result = 0, mode = 0, c, nargs = 0, verbose = 0; + int result = 0, mode = 0, c, nargs = 0; char *args[3]; struct hostent *hp; int fd; @@ -226,12 +226,13 @@ int main(int argc, char **argv) break; case 'h': usage(E_USAGE); + break; case 'V': printf("%s\n", Release); exit(E_VERSION); break; case 'v': - verbose++; + //verbose++; break; case 'a': case 's': @@ -274,6 +275,7 @@ int main(int argc, char **argv) switch (mode) { case 0: usage(E_OPTERR); + break; case MODE_DISPLAY: if (nargs != (mode - 1)) { From b76ffad1a340c2bd7dec3bcccc51c1591be6ea5c Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:50:22 +0530 Subject: [PATCH 12/34] route: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- route.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/route.c b/route.c index fd4681e..347be39 100644 --- a/route.c +++ b/route.c @@ -184,6 +184,7 @@ int main(int argc, char **argv) break; case 'V': version(); + break; case 'h': case '?': opt_h++; @@ -193,7 +194,7 @@ int main(int argc, char **argv) } argv += optind; - argc -= optind; + //argc -= optind; if (opt_h) { if (!afname[0]) From cf720e008546c63ae4b51bccd0e29a0342de1f83 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:50:30 +0530 Subject: [PATCH 13/34] slattach: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- slattach.c | 40 +++++----------------------------------- 1 file changed, 5 insertions(+), 35 deletions(-) diff --git a/slattach.c b/slattach.c index 27234bd..34ff378 100644 --- a/slattach.c +++ b/slattach.c @@ -222,7 +222,7 @@ tty_lock(char *path, int mode) return(-1); } sprintf(apid, "%10d\n", getpid()); - if (write(fd, apid, strlen(apid)) != strlen(apid)) { + if (write(fd, apid, strlen(apid)) != (long)strlen(apid)) { fprintf(stderr, _("slattach: cannot write PID file\n")); close(fd); unlink(saved_path); @@ -236,8 +236,9 @@ tty_lock(char *path, int mode) (void) close(fd); return(0); /* keep the lock anyway */ } - if (fchown(fd, pw->pw_uid, pw->pw_gid)) + if (fchown(fd, pw->pw_uid, pw->pw_gid)) { /* keep the lock anyway */; + } (void) close(fd); @@ -363,32 +364,6 @@ tty_set_speed(struct termios *tty, const char *speed) return(0); } - -/* Put a terminal line in a transparent state. */ -static int -tty_set_raw(struct termios *tty) -{ - int i; - int speed; - - for(i = 0; i < NCCS; i++) - tty->c_cc[i] = '\0'; /* no spec chr */ - tty->c_cc[VMIN] = 1; - tty->c_cc[VTIME] = 0; - tty->c_iflag = (IGNBRK | IGNPAR); /* input flags */ - tty->c_oflag = (0); /* output flags */ - tty->c_lflag = (0); /* local flags */ - speed = (tty->c_cflag & CBAUD); /* save current speed */ - tty->c_cflag = (HUPCL | CREAD); /* UART flags */ - if (opt_L) - tty->c_cflag |= CLOCAL; - else - tty->c_cflag |= CRTSCTS; - tty->c_cflag |= speed; /* restore speed */ - return(0); -} - - /* Fetch the state of a terminal. */ static int tty_get_state(struct termios *tty) @@ -569,11 +544,6 @@ tty_open(char *name, const char *speed) /* Put this terminal line in a 8-bit transparent mode. */ if (opt_m == 0) { - if (tty_set_raw(&tty_current) < 0) { - if (opt_q == 0) fprintf(stderr, _("slattach: tty_open: cannot set RAW mode!\n")); - return(-errno); - } - /* Set the default speed if we need to. */ if (speed != NULL) { if (tty_set_speed(&tty_current, speed) != 0) { @@ -722,11 +692,11 @@ main(int argc, char *argv[]) case 'V': version(); - /*NOTREACHED*/ + break; default: usage(E_OPTERR); - /*NOTREACHED*/ + break; } if (setvbuf(stdout,0,_IOLBF,0)) { From 84a9044c9f4d0eccbf52be56574df783a01f3f59 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:50:35 +0530 Subject: [PATCH 14/34] statistics: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- statistics.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/statistics.c b/statistics.c index 39a5275..26b80b8 100644 --- a/statistics.c +++ b/statistics.c @@ -334,7 +334,8 @@ static int cmpentries(const void *a, const void *b) static void printval(const struct tabtab *tab, const char *title, unsigned long long val) { - struct entry *ent = NULL, key; + const struct entry *ent = NULL; + struct entry key = {}; int type; char buf[512]; @@ -358,7 +359,7 @@ static void printval(const struct tabtab *tab, const char *title, unsigned long if (type & I_TITLE) { type &= ~I_TITLE; - if (state != type) + if ((int)state != type) printf("%*s%s\n", states[state].indent, "", _(states[type].title)); } buf[0] = '\0'; @@ -366,7 +367,7 @@ static void printval(const struct tabtab *tab, const char *title, unsigned long case opt_number: if (val == 0) break; - /*FALL THOUGH*/ + /* fall through */ case number: snprintf(buf, sizeof(buf), _(ent->out), val); break; @@ -489,7 +490,7 @@ static void process6_fd(FILE *f) int cpflg = 0; while (fgets(buf1, sizeof buf1, f)) { - sscanf(buf1, "%s %llu", buf2, &val); + sscanf(buf1, "%49s %llu", buf2, &val); if(!cpflg) { cpytitle(buf2, buf3); tab = newtable(snmp6tabs, buf3); @@ -506,7 +507,7 @@ static void process6_fd(FILE *f) } /* Process a file with name-value lines (like /proc/net/sctp/snmp) */ -static void process_fd2(FILE *f, const char *filename) +static void process_fd2(FILE *f) { char buf1[1024]; char *sp; @@ -516,10 +517,6 @@ static void process_fd2(FILE *f, const char *filename) while (fgets(buf1, sizeof buf1, f)) { sp = buf1 + strcspn(buf1, " \t\n"); - if (!sp) { - fprintf(stderr, _("error parsing %s\n"), filename); - return; - } *sp = '\0'; sp++; @@ -564,7 +561,7 @@ void parsesnmp(int flag_raw, int flag_tcp, int flag_udp, int flag_sctp) f = proc_fopen("/proc/net/sctp/snmp"); if (f) { - process_fd2(f,"/proc/net/sctp/snmp"); + process_fd2(f); if (ferror(f)) { perror("/proc/net/sctp/snmp"); fclose(f); From 4f0378dd4a43e78577e561755d0d1f331bf711dd Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:51:34 +0530 Subject: [PATCH 15/34] lib/arcnet: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/arcnet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/arcnet.c b/lib/arcnet.c index fef0360..8d9656c 100644 --- a/lib/arcnet.c +++ b/lib/arcnet.c @@ -117,7 +117,7 @@ static int in_arcnet(char *bufp, struct sockaddr_storage *sasp) struct hwtype arcnet_hwtype = { "arcnet", NULL, /*"2.5Mbps ARCnet", */ ARPHRD_ARCNET, 1, - pr_arcnet, in_arcnet, NULL + pr_arcnet, in_arcnet, NULL, 0 }; From a6ca9720a37350d7e73303e17e69c881d14df6cc Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:51:57 +0530 Subject: [PATCH 16/34] lib/ax25: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/ax25.c | 4 ++-- lib/ax25_gr.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/ax25.c b/lib/ax25.c index 8c44ba7..ba9b5d3 100644 --- a/lib/ax25.c +++ b/lib/ax25.c @@ -88,7 +88,7 @@ static int AX25_input(int type, char *bufp, struct sockaddr_storage *sasp) struct sockaddr *sap = (struct sockaddr *)sasp; char *ptr; char *orig, c; - int i; + size_t i; (void)type; /* unused */ sap->sa_family = ax25_aftype.af; @@ -190,7 +190,7 @@ static int KISS_init(int fd) struct hwtype ax25_hwtype = { "ax25", NULL, /*"AMPR AX.25", */ ARPHRD_AX25, 7, - AX25_print, AX25_hinput, NULL + AX25_print, AX25_hinput, NULL, 0 }; struct aftype ax25_aftype = diff --git a/lib/ax25_gr.c b/lib/ax25_gr.c index 88ecb16..9e19e59 100644 --- a/lib/ax25_gr.c +++ b/lib/ax25_gr.c @@ -48,8 +48,9 @@ int AX25_rprint(int options) } printf(_("Kernel AX.25 routing table\n")); /* xxx */ printf(_("Destination Iface Use\n")); /* xxx */ - if (fgets(buffer, 256, f)) + if (fgets(buffer, 256, f)) { /* eat line */; + } while (fgets(buffer, 256, f)) { buffer[9] = 0; buffer[14] = 0; From 3b9afa82fcdaa3acf4140f59608b074b800137c2 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:52:06 +0530 Subject: [PATCH 17/34] lib/ddp_gr: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/ddp_gr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/ddp_gr.c b/lib/ddp_gr.c index b3fa678..36f639f 100644 --- a/lib/ddp_gr.c +++ b/lib/ddp_gr.c @@ -70,8 +70,9 @@ int DDP_rprint(int options) } // eat header line, the if makes code scanner happy - if (fscanf(fp, "%ms %ms %ms %ms\n", &dest, &gw, &flags, &dev) == 4) + if (fscanf(fp, "%ms %ms %ms %ms\n", &dest, &gw, &flags, &dev) == 4) { /* eat line */; + } free(dest); free(gw); free(flags); free(dev); printf("%s\n", hdr); From 8683da93b074c1e61bd06ea4e7ddf5b32201e183 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:52:14 +0530 Subject: [PATCH 18/34] lib/ec_hw: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/ec_hw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ec_hw.c b/lib/ec_hw.c index cd3ff6e..bbe2c20 100644 --- a/lib/ec_hw.c +++ b/lib/ec_hw.c @@ -21,7 +21,7 @@ struct hwtype ec_hwtype = { "ec", NULL /* "Econet" */, ARPHRD_ECONET, 0, - NULL, NULL, NULL + NULL, NULL, NULL, 0 }; #endif From d25c6b700c018d9ad15ca33862957dc4c0cfe2b8 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:52:22 +0530 Subject: [PATCH 19/34] lib/ether: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/ether.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ether.c b/lib/ether.c index be5c03e..ad4b5e3 100644 --- a/lib/ether.c +++ b/lib/ether.c @@ -125,7 +125,7 @@ static int in_ether(char *bufp, struct sockaddr_storage *sasp) struct hwtype ether_hwtype = { "ether", NULL, /*"10Mbps Ethernet", */ ARPHRD_ETHER, ETH_ALEN, - pr_ether, in_ether, NULL + pr_ether, in_ether, NULL, 0 }; From 21abaa6a47c020e7a114df11d3358677982b16de Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:52:28 +0530 Subject: [PATCH 20/34] lib/fddi: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/fddi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/fddi.c b/lib/fddi.c index f553e7d..9cdded2 100644 --- a/lib/fddi.c +++ b/lib/fddi.c @@ -131,7 +131,7 @@ static int in_fddi(char *bufp, struct sockaddr_storage *sasp) struct hwtype fddi_hwtype = { "fddi", NULL, /*"Fiber Distributed Data Interface (FDDI)", */ ARPHRD_FDDI, FDDI_K_ALEN, - pr_fddi, in_fddi, NULL + pr_fddi, in_fddi, NULL, 0 }; From 0f738a10d13fc9b92087e20c33f51d8961469bc1 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:52:35 +0530 Subject: [PATCH 21/34] lib/hw: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/hw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/hw.c b/lib/hw.c index f0ff30b..0c75cb7 100644 --- a/lib/hw.c +++ b/lib/hw.c @@ -295,7 +295,7 @@ void print_hwlist(int type) { /* return 1 if address is all zeros */ int hw_null_address(const struct hwtype *hw, void *ap) { - unsigned int i; + int i; unsigned char *address = (unsigned char *)ap; for (i = 0; i < hw->alen; i++) if (address[i]) From b573108a0d33ff429e68735fcb3d311ebfed5b59 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:52:41 +0530 Subject: [PATCH 22/34] lib/ib: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/ib.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/ib.c b/lib/ib.c index 88eb9fb..b481c2c 100644 --- a/lib/ib.c +++ b/lib/ib.c @@ -135,12 +135,10 @@ static int in_ib(char *bufp, struct sockaddr_storage *sasp) return (0); } - struct hwtype ib_hwtype = { "infiniband", NULL, ARPHRD_INFINIBAND, INFINIBAND_ALEN, - pr_ib, in_ib, NULL + pr_ib, in_ib, NULL, 0 }; - #endif /* HAVE_HWIB */ From 8b764ea28cfa21859b116f9392bd1ea1529088e7 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 23/34] lib/interface: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/interface.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/interface.c b/lib/interface.c index 8d9dd52..6310ed4 100644 --- a/lib/interface.c +++ b/lib/interface.c @@ -188,7 +188,7 @@ static int if_readconf(void) perror("SIOCGIFCONF"); goto out; } - if (ifc.ifc_len == sizeof(struct ifreq) * numreqs) { + if (ifc.ifc_len == (int)sizeof(struct ifreq) * numreqs) { /* assume it overflowed and try again */ numreqs *= 2; continue; @@ -338,10 +338,12 @@ static int if_readlist_proc(const char *target) _PATH_PROCNET_DEV, strerror(errno)); return -2; } - if (fgets(buf, sizeof buf, fh)) + if (fgets(buf, sizeof buf, fh)) { /* eat line */; - if (fgets(buf, sizeof buf, fh)) + } + if (fgets(buf, sizeof buf, fh)) { /* eat line */; + } #if 0 /* pretty, but can't cope with missing fields */ fmt = proc_gen_fmt(_PATH_PROCNET_DEV, 1, fh, From a18214319488b994c939437fa060c4c3fd073745 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 24/34] lib/ipx_gr: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/ipx_gr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/ipx_gr.c b/lib/ipx_gr.c index 2fa717c..defbc3c 100644 --- a/lib/ipx_gr.c +++ b/lib/ipx_gr.c @@ -63,8 +63,9 @@ int IPX_rprint(int options) printf(_("Kernel IPX routing table\n")); /* xxx */ printf(_("Destination Router Net Router Node\n")); - if (fgets(buff, 1023, fp)) + if (fgets(buff, 1023, fp)) { /* eat line */; + } while (fgets(buff, 1023, fp)) { num = sscanf(buff, "%s %s %s", net, router_net, router_node); From 635bbf98b96cf0f812f38b43d3d7a65b0eb1cf98 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 25/34] lib/loopback: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/loopback.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/loopback.c b/lib/loopback.c index 2210a11..07e4d52 100644 --- a/lib/loopback.c +++ b/lib/loopback.c @@ -47,11 +47,11 @@ static const char *pr_unspec(const char *ptr) struct hwtype unspec_hwtype = { "unspec", NULL/*"UNSPEC"*/, -1, 0, - pr_unspec, NULL, NULL + pr_unspec, NULL, NULL, 0 }; struct hwtype loop_hwtype = { "loop", NULL/*"Local Loopback"*/, ARPHRD_LOOPBACK, 0, - NULL, NULL, NULL + NULL, NULL, NULL, 0 }; From 9225950c41fcc73689b94692f51fb8f88cc8ed83 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 26/34] lib/netrom_gr: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/netrom_gr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/netrom_gr.c b/lib/netrom_gr.c index 4bf4e0b..a8df85b 100644 --- a/lib/netrom_gr.c +++ b/lib/netrom_gr.c @@ -47,8 +47,9 @@ int NETROM_rprint(int options) } printf(_("Kernel NET/ROM routing table\n")); printf(_("Destination Mnemonic Quality Neighbour Iface\n")); - if (fgets(buffer, 256, f1)) + if (fgets(buffer, 256, f1)) { /* eat line */; + } while (fgets(buffer, 256, f1)) { buffer[9] = 0; buffer[17] = 0; @@ -58,8 +59,9 @@ int NETROM_rprint(int options) qual = atoi(buffer + 24 + 15 * w); n = atoi(buffer + 32 + 15 * w); rewind(f2); - if (fgets(buffer, 256, f2)) + if (fgets(buffer, 256, f2)) { /* eat line */; + } while (fgets(buffer, 256, f2)) { if (atoi(buffer) == n) { buffer[15] = 0; From 9db05a764cb77e3b80ae8227ce2f88468c944a9e Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 27/34] lib/slip: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/slip.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/slip.c b/lib/slip.c index 172a7be..4e94c67 100644 --- a/lib/slip.c +++ b/lib/slip.c @@ -35,26 +35,26 @@ struct hwtype slip_hwtype = { "slip", NULL, /*"Serial Line IP", */ ARPHRD_SLIP, 0, - NULL, NULL, NULL + NULL, NULL, NULL, 0 }; struct hwtype cslip_hwtype = { "cslip", NULL, /*"VJ Serial Line IP", */ ARPHRD_CSLIP, 0, - NULL, NULL, NULL + NULL, NULL, NULL, 0 }; struct hwtype slip6_hwtype = { "slip6", NULL, /*"6-bit Serial Line IP", */ ARPHRD_SLIP6, 0, - NULL, NULL, NULL + NULL, NULL, NULL, 0 }; struct hwtype cslip6_hwtype = { "cslip6", NULL, /*"VJ 6-bit Serial Line IP", */ ARPHRD_CSLIP6, 0, - NULL, NULL, NULL + NULL, NULL, NULL, 0 }; struct hwtype adaptive_hwtype = { "adaptive", NULL, /*"Adaptive Serial Line IP", */ ARPHRD_ADAPT, 0, - NULL, NULL, NULL + NULL, NULL, NULL, 0 }; #endif /* HAVE_HWSLIP */ From 435b7debebe926e7e1628e57f5ea3b78539a5958 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 28/34] lib/strip: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/strip.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/strip.c b/lib/strip.c index 88e4532..70d29d5 100644 --- a/lib/strip.c +++ b/lib/strip.c @@ -95,19 +95,17 @@ in_strip(char *bufp, struct sockaddr_storage *sasp) return 0; } - - /* Start the STRIP encapsulation on the file descriptor. */ static int do_strip(int fd) - { - int disc = N_STRIP; - if (ioctl(fd, TIOCSETD, &disc) < 0) - { - fprintf(stderr, "STRIP_set_disc(%d): %s\n", disc, strerror(errno)); - return(-errno); - } - return(0); - } +{ + int disc = N_STRIP; + if (ioctl(fd, TIOCSETD, &disc) < 0) + { + fprintf(stderr, "STRIP_set_disc(%d): %s\n", disc, strerror(errno)); + return(-errno); + } + return(0); +} struct hwtype strip_hwtype = { "strip", "Metricom Starmode IP", ARPHRD_METRICOM, sizeof(MetricomAddress), From db9b76ac4c071a551d2d567a2e8d0230fcbd520e Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 29/34] lib/tr: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/tr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tr.c b/lib/tr.c index 26b2dc4..cae2626 100644 --- a/lib/tr.c +++ b/lib/tr.c @@ -133,13 +133,13 @@ static int in_tr(char *bufp, struct sockaddr_storage *sasp) struct hwtype tr_hwtype = { "tr", NULL /* "16/4 Mbps Token Ring" */, ARPHRD_IEEE802, TR_ALEN, - pr_tr, in_tr, NULL + pr_tr, in_tr, NULL, 0 }; #ifdef ARPHRD_IEEE802_TR struct hwtype tr_hwtype1 = { "tr", NULL /* "16/4 Mbps Token Ring" */, ARPHRD_IEEE802_TR, TR_ALEN, - pr_tr, in_tr, NULL + pr_tr, in_tr, NULL, 0 }; #endif From 2ebde7995cc0ad17ee8471b465838a6abdc53211 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 30/34] lib/unix: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/unix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/unix.c b/lib/unix.c index c8c66bd..6306082 100644 --- a/lib/unix.c +++ b/lib/unix.c @@ -95,5 +95,5 @@ struct aftype unspec_aftype = { "unspec", NULL/*"UNSPEC"*/, AF_UNSPEC, 0, UNSPEC_print, UNSPEC_sprint, NULL, NULL, - NULL, + NULL, NULL, NULL, 0, NULL }; From 71e867a752b5b70df4392ab4d4fc70ab794227e3 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 31/34] lib/util-ank: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/util-ank.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/util-ank.c b/lib/util-ank.c index cf62f4e..4fbc48a 100644 --- a/lib/util-ank.c +++ b/lib/util-ank.c @@ -192,7 +192,7 @@ int get_addr_1(inet_prefix *addr, char *name, int family) int get_prefix_1(inet_prefix *dst, char *arg, int family) { int err; - unsigned plen; + unsigned int plen; char *slash; memset(dst, 0, sizeof(*dst)); @@ -211,7 +211,7 @@ int get_prefix_1(inet_prefix *dst, char *arg, int family) if (err == 0) { dst->bitlen = (dst->family == AF_INET6 ? 128 : 32); if (slash) { - if (scan_number(slash+1, &plen) || plen > dst->bitlen) { + if (scan_number(slash+1, &plen) || plen > (unsigned)dst->bitlen) { err = -1; goto done; } @@ -260,7 +260,7 @@ void invarg(char *msg) int matches(char *cmd, char *pattern) { - int len = strlen(cmd); + size_t len = strlen(cmd); if (len > strlen(pattern)) return -1; return memcmp(pattern, cmd, len); From efc37e435c3132e6c7b53611e8a2744fca51fda4 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 32/34] lib/x25: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/x25.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/x25.c b/lib/x25.c index eac1fef..3f2e34c 100644 --- a/lib/x25.c +++ b/lib/x25.c @@ -155,7 +155,7 @@ X25_hinput(char *bufp, struct sockaddr_storage *sasp) struct hwtype x25_hwtype = { "x25", NULL, /*"CCITT X.25",*/ ARPHRD_X25, X25_ADDR_LEN, - X25_print, X25_hinput, NULL + X25_print, X25_hinput, NULL, 0 }; struct aftype x25_aftype = From 2320a6a418b9cfeb2c823056eea3e896b1ed71d3 Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:54:16 +0530 Subject: [PATCH 33/34] lib/x25_gr: fix cppcheck issues and gcc build warnings Signed-off-by: Shreenidhi Shedi --- lib/x25_gr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/x25_gr.c b/lib/x25_gr.c index afb44a5..cefe6ab 100644 --- a/lib/x25_gr.c +++ b/lib/x25_gr.c @@ -73,8 +73,9 @@ int X25_rprint(int options) } printf( _("Kernel X.25 routing table\n")); /* xxx */ printf( _("Destination Iface\n")); /* xxx */ - if (fgets(buffer,256,f)) + if (fgets(buffer,256,f)) { /* eat line */; + } while(fgets(buffer,256,f)) { p = strchr(buffer,'\n'); From 189cafa78d8f3e4c897d5aac29caa62655f1548a Mon Sep 17 00:00:00 2001 From: Shreenidhi Shedi Date: Tue, 26 May 2026 23:59:00 +0530 Subject: [PATCH 34/34] Enforce Werror and Wextra to default CFLAGS Signed-off-by: Shreenidhi Shedi --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 24c138e..22731de 100644 --- a/Makefile +++ b/Makefile @@ -57,7 +57,7 @@ endif # Compiler and Linker Options CFLAGS ?= -O2 -g -CFLAGS += -Wall -Wtype-limits -Wunused-parameter +CFLAGS += -Wall -Wtype-limits -Wunused-parameter -Werror -Wextra CFLAGS += -fno-strict-aliasing # code needs a lot of work before strict aliasing is safe CPPFLAGS += -D_GNU_SOURCE # Turn on transparent support for LFS