summaryrefslogtreecommitdiffstats
path: root/sys/contrib
diff options
context:
space:
mode:
authorbrueffer <brueffer@FreeBSD.org>2009-11-05 16:30:16 +0000
committerbrueffer <brueffer@FreeBSD.org>2009-11-05 16:30:16 +0000
commitacdf1c7b900c647bc83f8af0dadc1e0b67938cc7 (patch)
treee28db2a72bbb7526c7014bc5e12b1b8931cfa087 /sys/contrib
parente0f4684a1b58ce80a11cc0eeeb1a2707fd80ed66 (diff)
downloadFreeBSD-src-acdf1c7b900c647bc83f8af0dadc1e0b67938cc7.zip
FreeBSD-src-acdf1c7b900c647bc83f8af0dadc1e0b67938cc7.tar.gz
Fix two memory leaks in error cases.
PR: 138378 Submitted by: Patroklos Argyroudis <argp@census-labs.com> Approved by: mlaier MFC after: 1 week
Diffstat (limited to 'sys/contrib')
-rw-r--r--sys/contrib/altq/altq/altq_hfsc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/contrib/altq/altq/altq_hfsc.c b/sys/contrib/altq/altq/altq_hfsc.c
index cc9a566..fa8bad1 100644
--- a/sys/contrib/altq/altq/altq_hfsc.c
+++ b/sys/contrib/altq/altq/altq_hfsc.c
@@ -1809,15 +1809,20 @@ hfsc_class_modify(cl, rsc, fsc, usc)
cl->cl_fsc == NULL) {
fsc_tmp = malloc(sizeof(struct internal_sc),
M_DEVBUF, M_WAITOK);
- if (fsc_tmp == NULL)
+ if (fsc_tmp == NULL) {
+ free(rsc_tmp);
return (ENOMEM);
+ }
}
if (usc != NULL && (usc->m1 != 0 || usc->m2 != 0) &&
cl->cl_usc == NULL) {
usc_tmp = malloc(sizeof(struct internal_sc),
M_DEVBUF, M_WAITOK);
- if (usc_tmp == NULL)
+ if (usc_tmp == NULL) {
+ free(rsc_tmp);
+ free(fsc_tmp);
return (ENOMEM);
+ }
}
cur_time = read_machclk();
OpenPOWER on IntegriCloud