diff options
author | alfred <alfred@FreeBSD.org> | 2002-10-19 02:07:35 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2002-10-19 02:07:35 +0000 |
commit | 657dbda997f0184d8b251b77c2757f549078d42c (patch) | |
tree | 9c1abf9c6490ad8efee376e6dc922a7ab268878e /sys | |
parent | 3832720b63ac0e4bc560d91a97d876c476780361 (diff) | |
download | FreeBSD-src-657dbda997f0184d8b251b77c2757f549078d42c.zip FreeBSD-src-657dbda997f0184d8b251b77c2757f549078d42c.tar.gz |
Don't leak memory in semop(2). (Fix a bug I introduced in rev 1.55.)
Detective work by: jake
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/sysv_sem.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c index b7df52a..737ddba 100644 --- a/sys/kern/sysv_sem.c +++ b/sys/kern/sysv_sem.c @@ -872,7 +872,7 @@ semop(td, uap) { int semid = uap->semid; u_int nsops = uap->nsops; - struct sembuf *sops = NULL; + struct sembuf *sops; struct semid_ds *semaptr; struct sembuf *sopptr = 0; struct sem *semptr = 0; @@ -1128,6 +1128,7 @@ done: td->td_retval[0] = 0; done2: mtx_unlock(sema_mtxp); + free(sops, M_SEM); return (error); } |