potentional double free in do-while-loop.
found by llvm/scan-build
Index: route6d.c
===================================================================
RCS file: /cvs/src/usr.sbin/route6d/route6d.c,v
retrieving revision 1.64
diff -u -p -r1.64 route6d.c
--- route6d.c 16 Jan 2015 06:40:20 -0000 1.64
+++ route6d.c 4 Feb 2015 13:43:50 -0000
@@ -2449,9 +2449,9 @@ krtread(int again)
mib[5] = 0; /* No flags */
do {
retry++;
+ free(buf);
+ buf = NULL;
errmsg = NULL;
- if (buf)
- free(buf);
if (sysctl(mib, 6, NULL, &msize, NULL, 0) < 0) {
errmsg = "sysctl estimate";
continue;