diff options
author | Conrad Meyer <cem@FreeBSD.org> | 2016-04-20 02:09:38 +0000 |
---|---|---|
committer | Conrad Meyer <cem@FreeBSD.org> | 2016-04-20 02:09:38 +0000 |
commit | b483e111c412e8baa1b1b6377eee4bb772a9474f (patch) | |
tree | 364076b481175f83a832f45f0239f08e84edbd7f /sys/kern/kern_rctl.c | |
parent | 856d8ddbb34d1816c5233b6f9155034a6a748722 (diff) | |
download | src-b483e111c412e8baa1b1b6377eee4bb772a9474f.tar.gz src-b483e111c412e8baa1b1b6377eee4bb772a9474f.zip |
kern_rctl: Fix resource leak in error path
Ordinarily, rctl_write_outbuf frees 'sb'. However, if we are in low memory
conditions we skip past the rctl_write_outbuf. In that case, free 'sb'.
Reported by: Coverity
CID: 1338539
Sponsored by: EMC / Isilon Storage Division
Notes
Notes:
svn path=/head/; revision=298330
Diffstat (limited to 'sys/kern/kern_rctl.c')
-rw-r--r-- | sys/kern/kern_rctl.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_rctl.c b/sys/kern/kern_rctl.c index 7f6ca6326d1e..9232187a255a 100644 --- a/sys/kern/kern_rctl.c +++ b/sys/kern/kern_rctl.c @@ -1866,6 +1866,7 @@ sys_rctl_get_limits(struct thread *td, struct rctl_get_limits_args *uap) RCTL_RUNLOCK(); if (sbuf_error(sb) == ENOMEM) { error = ERANGE; + sbuf_delete(sb); goto out; } |