diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2021-09-24 00:14:56 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2021-10-01 00:32:22 +0000 |
| commit | 9499d3c1e40dfeb1f63f61af7cdf25ee27f9a2ec (patch) | |
| tree | d36fe5ed6741ed99244810b3b6b5dfd4bc2a47a0 | |
| parent | 3c9253c2f6d1f076ef35a5538b207a5cc866480f (diff) | |
| download | src-9499d3c1e40dfeb1f63f61af7cdf25ee27f9a2ec.tar.gz src-9499d3c1e40dfeb1f63f61af7cdf25ee27f9a2ec.zip | |
aio_aqueue(): avoid ucred leak on failure path
PR: 258698
(cherry picked from commit 45c2c7c484de7747014492b17ff89e323ee66496)
| -rw-r--r-- | sys/kern/vfs_aio.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c index 865eaeee2d13..82fa7990937a 100644 --- a/sys/kern/vfs_aio.c +++ b/sys/kern/vfs_aio.c @@ -1709,7 +1709,7 @@ no_kqueue: else error = fo_aio_queue(fp, job); if (error) - goto err3; + goto err4; AIO_LOCK(ki); job->jobflags &= ~KAIOCB_QUEUEING; @@ -1730,6 +1730,8 @@ no_kqueue: AIO_UNLOCK(ki); return (0); +err4: + crfree(job->cred); err3: if (fp) fdrop(fp, td); |
