summaryrefslogtreecommitdiffstats
path: root/usr.bin/grep/queue.c
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2014-07-21 22:59:40 +0000
committerpfg <pfg@FreeBSD.org>2014-07-21 22:59:40 +0000
commit7dbe20dfe17a0f32481021e5757ed851af808e15 (patch)
treeb357c77977d7e8ef7b974031e57f0b65a76e2eba /usr.bin/grep/queue.c
parentf5657a9f1cb2b536b62d19ff125fece464f29581 (diff)
downloadFreeBSD-src-7dbe20dfe17a0f32481021e5757ed851af808e15.zip
FreeBSD-src-7dbe20dfe17a0f32481021e5757ed851af808e15.tar.gz
MFC r268798, r268799, r268801:
grep: Fix type. grep: fix some memory leaks. queue.c (CVS Rev. 1.4. 1.5) Fix memory leaks. NULL does not need a cast. grep.c (CVS Rev. 1.6) Use the more portable getline. Obtained from: NetBSD
Diffstat (limited to 'usr.bin/grep/queue.c')
-rw-r--r--usr.bin/grep/queue.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/usr.bin/grep/queue.c b/usr.bin/grep/queue.c
index afcb827..1887888 100644
--- a/usr.bin/grep/queue.c
+++ b/usr.bin/grep/queue.c
@@ -1,4 +1,4 @@
-/* $NetBSD: queue.c,v 1.2 2011/02/16 01:31:33 joerg Exp $ */
+/* $NetBSD: queue.c,v 1.5 2011/08/31 16:24:57 plunky Exp $ */
/* $FreeBSD$ */
/*-
@@ -68,8 +68,11 @@ enqueue(struct str *x)
STAILQ_INSERT_TAIL(&queue, item, list);
- if (++count > Bflag)
- free(dequeue());
+ if (++count > Bflag) {
+ item = dequeue();
+ free(item->data.dat);
+ free(item);
+ }
}
static struct qentry *
@@ -92,7 +95,8 @@ printqueue(void)
struct qentry *item;
while ((item = dequeue()) != NULL) {
- printline(&item->data, '-', (regmatch_t *)NULL, 0);
+ printline(&item->data, '-', NULL, 0);
+ free(item->data.dat);
free(item);
}
}
@@ -102,6 +106,8 @@ clearqueue(void)
{
struct qentry *item;
- while ((item = dequeue()) != NULL)
+ while ((item = dequeue()) != NULL) {
+ free(item->data.dat);
free(item);
+ }
}
OpenPOWER on IntegriCloud