summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-11-18 09:47:10 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-11-18 09:47:10 +0100
commit10613243965cadbe6d2c8f2ae994aa124f43fe84 (patch)
tree5c838913359aff6c4ac09c8bd54c15c2eab0a502
parentAdd .exe extension to test programs (diff)
downloadrtems-libbsd-10613243965cadbe6d2c8f2ae994aa124f43fe84.tar.bz2
NETSTAT(1): Avoid use of uninitialized memory
-rw-r--r--freebsd/usr.bin/netstat/main.c3
-rw-r--r--freebsd/usr.bin/netstat/mbuf.c3
-rw-r--r--freebsd/usr.bin/netstat/mroute.c19
-rw-r--r--freebsd/usr.bin/netstat/mroute6.c21
4 files changed, 45 insertions, 1 deletions
diff --git a/freebsd/usr.bin/netstat/main.c b/freebsd/usr.bin/netstat/main.c
index 1caecbe0..7d26216d 100644
--- a/freebsd/usr.bin/netstat/main.c
+++ b/freebsd/usr.bin/netstat/main.c
@@ -387,6 +387,9 @@ int rtems_bsd_command_netstat(int argc, char *argv[])
rtems_bsd_program_lock();
+ nlistf = NULL;
+ memf = NULL;
+
Aflag = 0;
aflag = 0;
Bflag = 0;
diff --git a/freebsd/usr.bin/netstat/mbuf.c b/freebsd/usr.bin/netstat/mbuf.c
index ac123b2e..a005d167 100644
--- a/freebsd/usr.bin/netstat/mbuf.c
+++ b/freebsd/usr.bin/netstat/mbuf.c
@@ -116,7 +116,8 @@ mbpr(void *kvmd, u_long mbaddr)
goto out;
}
#else /* __rtems__ */
- ;
+ warnx("mbpr: not implemented");
+ goto out;
#endif /* __rtems__ */
}
diff --git a/freebsd/usr.bin/netstat/mroute.c b/freebsd/usr.bin/netstat/mroute.c
index 07bc95ee..21ba22f9 100644
--- a/freebsd/usr.bin/netstat/mroute.c
+++ b/freebsd/usr.bin/netstat/mroute.c
@@ -231,7 +231,14 @@ mroutepr(u_long pmfchashtbl, u_long pmfctablesize, u_long pviftbl)
return;
}
} else
+#ifndef __rtems__
kread(pviftbl, (char *)viftable, sizeof(viftable));
+#else /* __rtems__ */
+ {
+ warnx("mroutepr: not implemented");
+ return;
+ }
+#endif /* __rtems__ */
banner_printed = 0;
for (vifi = 0, v = viftable; vifi < MAXVIFS; ++vifi, ++v) {
@@ -302,6 +309,7 @@ mroutepr(u_long pmfchashtbl, u_long pmfctablesize, u_long pviftbl)
free(mfctable);
} else {
+#ifndef __rtems__
LIST_HEAD(, mfc) *mfchashtbl;
u_long i, mfctablesize;
struct mfc mfc;
@@ -330,6 +338,10 @@ mroutepr(u_long pmfchashtbl, u_long pmfctablesize, u_long pviftbl)
}
free(mfchashtbl);
+#else /* __rtems__ */
+ warnx("mroutepr: not implemented");
+ return;
+#endif /* __rtems__ */
}
if (!banner_printed)
@@ -352,7 +364,14 @@ mrt_stats(u_long mstaddr)
return;
}
} else
+#ifndef __rtems__
kread(mstaddr, (char *)&mrtstat, sizeof(mrtstat));
+#else /* __rtems__ */
+ {
+ warnx("mrt_stats: not implemented");
+ return;
+ }
+#endif /* __rtems__ */
printf("IPv4 multicast forwarding:\n");
diff --git a/freebsd/usr.bin/netstat/mroute6.c b/freebsd/usr.bin/netstat/mroute6.c
index 59a7b6cc..20a9d08d 100644
--- a/freebsd/usr.bin/netstat/mroute6.c
+++ b/freebsd/usr.bin/netstat/mroute6.c
@@ -124,7 +124,14 @@ mroute6pr(u_long mfcaddr, u_long mifaddr)
return;
}
} else
+#ifndef __rtems__
kread(mifaddr, (char *)mif6table, sizeof(mif6table));
+#else /* __rtems__ */
+ {
+ warnx("mroute6pr: not implemented");
+ return;
+ }
+#endif /* __rtems__ */
saved_numeric_addr = numeric_addr;
numeric_addr = 1;
@@ -167,7 +174,14 @@ mroute6pr(u_long mfcaddr, u_long mifaddr)
return;
}
} else
+#ifndef __rtems__
kread(mfcaddr, (char *)mf6ctable, sizeof(mf6ctable));
+#else /* __rtems__ */
+ {
+ warnx("mroute6pr: not implemented");
+ return;
+ }
+#endif /* __rtems__ */
banner_printed = 0;
@@ -231,7 +245,14 @@ mrt6_stats(u_long mstaddr)
return;
}
} else
+#ifndef __rtems__
kread(mstaddr, (char *)&mrtstat, sizeof(mrtstat));
+#else /* __rtems__ */
+ {
+ warnx("mrt6_stats: not implemented");
+ return;
+ }
+#endif /* __rtems__ */
printf("IPv6 multicast forwarding:\n");