diff options
author | pfg <pfg@FreeBSD.org> | 2014-07-21 22:59:40 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2014-07-21 22:59:40 +0000 |
commit | 7dbe20dfe17a0f32481021e5757ed851af808e15 (patch) | |
tree | b357c77977d7e8ef7b974031e57f0b65a76e2eba /usr.bin/grep/queue.c | |
parent | f5657a9f1cb2b536b62d19ff125fece464f29581 (diff) | |
download | FreeBSD-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.c | 16 |
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); + } } |