diff options
author | jeff <jeff@FreeBSD.org> | 2003-05-25 08:48:42 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2003-05-25 08:48:42 +0000 |
commit | a4b79b551bdacdbec0e42b72d220765c0c857449 (patch) | |
tree | f8401569dca4316df836c0d0c0d92951732044fa /sys/kern/kern_alq.c | |
parent | 7f947a0032071b2639d959b21b13b71a532376d9 (diff) | |
download | FreeBSD-src-a4b79b551bdacdbec0e42b72d220765c0c857449.zip FreeBSD-src-a4b79b551bdacdbec0e42b72d220765c0c857449.tar.gz |
- Reset the free ent to NULL if we have consumed the last free entry. This
fixes a problem where we would overwrite old data if we ran out of free
entries.
Submitted by: sam
Approved by: re (scottl)
Diffstat (limited to 'sys/kern/kern_alq.c')
-rw-r--r-- | sys/kern/kern_alq.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_alq.c b/sys/kern/kern_alq.c index 7ddacc8..77b2ac4 100644 --- a/sys/kern/kern_alq.c +++ b/sys/kern/kern_alq.c @@ -428,6 +428,8 @@ alq_get(struct alq *alq, int waitok) aln = ale->ae_next; if ((aln->ae_flags & AE_VALID) == 0) alq->aq_entfree = aln; + else + alq->aq_entfree = NULL; } else ALQ_UNLOCK(alq); |