Hi tech@,
I am not a nitpicker. Though all memory will be reclaimed after process
exits, I still think it's a good habit to release all memory in heap.
Best Regards
Nan Xiao
Index: dmesg.c
===================================================================
RCS file: /cvs/src/sbin/dmesg/dmesg.c,v
retrieving revision 1.28
diff -u -p -r1.28 dmesg.c
--- dmesg.c 26 Aug 2017 08:53:20 -0000 1.28
+++ dmesg.c 31 Aug 2017 14:22:27 -0000
@@ -34,6 +34,7 @@
#include <sys/msgbuf.h>
#include <sys/sysctl.h>
+#include <stddef.h>
#include <err.h>
#include <fcntl.h>
#include <kvm.h>
@@ -183,6 +184,14 @@ main(int argc, char *argv[])
}
if (!newl)
putchar('\n');
+
+ if (memf == NULL && nlistf == NULL)
+ free(bufdata - offsetof(struct msgbuf, msg_bufc));
+ else {
+#ifndef NOKVM
+ free(bufdata);
+#endif
+ }
return (0);
}