Hi tech@, it looks like there is a memory leak in libc. In file "src/lib/libc/stdio/makebuf.c" line 62 malloc(3) is called, but never freed, when printf(3) is called.
--F. $ valgrind --leak-check=full --show-leak-kinds=all /usr/sbin/apm ==29572== Memcheck, a memory error detector ==29572== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==29572== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info ==29572== Command: /usr/sbin/apm ==29572== ==29572== ==29572== FILE DESCRIPTORS: 4 open at exit. ==29572== Open file descriptor 3: /dev/apm ==29572== at 0x5443A2A: open (<stdin>:2) ==29572== by 0x1099B6: ??? (in /usr/sbin/apm) ==29572== by 0x108FF0: ??? (in /usr/sbin/apm) ==29572== ==29572== Open file descriptor 2: ==29572== <inherited from parent> ==29572== ==29572== Open file descriptor 1: ==29572== <inherited from parent> ==29572== ==29572== Open file descriptor 0: ==29572== <inherited from parent> ==29572== ==29572== ==29572== HEAP SUMMARY: ==29572== in use at exit: 65,536 bytes in 1 blocks ==29572== total heap usage: 1 allocs, 0 frees, 65,536 bytes allocated ==29572== ==29572== 65,536 bytes in 1 blocks are still reachable in loss record 1 of 1 ==29572== at 0x5019224: malloc (in /usr/local/lib/valgrind/vgpreload_memcheck-amd64-openbsd.so) ==29572== by 0x54AB15B: __smakebuf (makebuf.c:62) ==29572== by 0x54A53A9: __swsetup (wsetup.c:73) ==29572== by 0x548F2F7: __vfprintf (vfprintf.c:462) ==29572== by 0x549211D: vfprintf (vfprintf.c:267) ==29572== by 0x547700B: printf (printf.c:44) ==29572== by 0x109B8F: ??? (in /usr/sbin/apm) ==29572== by 0x108FF0: ??? (in /usr/sbin/apm) ==29572== ==29572== LEAK SUMMARY: ==29572== definitely lost: 0 bytes in 0 blocks ==29572== indirectly lost: 0 bytes in 0 blocks ==29572== possibly lost: 0 bytes in 0 blocks ==29572== still reachable: 65,536 bytes in 1 blocks ==29572== suppressed: 0 bytes in 0 blocks ==29572== ==29572== For counts of detected and suppressed errors, rerun with: -v ==29572== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
