=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/systat/pftop.c,v retrieving revision 1.22 retrieving revision 1.23 diff -c -r1.22 -r1.23 *** src/usr.bin/systat/pftop.c 2014/01/19 23:45:34 1.22 --- src/usr.bin/systat/pftop.c 2014/02/11 01:07:21 1.23 *************** *** 1,4 **** ! /* $OpenBSD: pftop.c,v 1.22 2014/01/19 23:45:34 henning Exp $ */ /* * Copyright (c) 2001, 2007 Can Erkin Acar * Copyright (c) 2001 Daniel Hartmeier --- 1,4 ---- ! /* $OpenBSD: pftop.c,v 1.23 2014/02/11 01:07:21 pelikan Exp $ */ /* * Copyright (c) 2001, 2007 Can Erkin Acar * Copyright (c) 2001 Daniel Hartmeier *************** *** 1646,1653 **** /* if a new set is found, start over */ if (pq.ticket != last_ticket) ! while ((node = TAILQ_FIRST(&qnodes)) != NULL) TAILQ_REMOVE(&qnodes, node, entries); last_ticket = pq.ticket; num_queues = mnr = pq.nr; --- 1646,1655 ---- /* if a new set is found, start over */ if (pq.ticket != last_ticket) ! while ((node = TAILQ_FIRST(&qnodes)) != NULL) { TAILQ_REMOVE(&qnodes, node, entries); + free(node); + } last_ticket = pq.ticket; num_queues = mnr = pq.nr; *************** *** 1810,1817 **** if (pfctl_update_altqstats(&altq_root, &inserts)) return (-1); ! while ((node = TAILQ_FIRST(&qnodes)) != NULL) TAILQ_REMOVE(&qnodes, node, entries); if (pfctl_update_qstats() < 0) return (-1); --- 1812,1821 ---- if (pfctl_update_altqstats(&altq_root, &inserts)) return (-1); ! while ((node = TAILQ_FIRST(&qnodes)) != NULL) { TAILQ_REMOVE(&qnodes, node, entries); + free(node); + } if (pfctl_update_qstats() < 0) return (-1);