diff options
author | jhb <jhb@FreeBSD.org> | 2002-02-27 19:12:14 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2002-02-27 19:12:14 +0000 |
commit | 9fbc6e93de5a6d93c811ff7ab26c7612604f0512 (patch) | |
tree | c5037d543d365d03b4cb331e6834dddee61b4577 /sys/kern | |
parent | 9b6ed8b0804f4594e41670dbaa9197d313487fa4 (diff) | |
download | FreeBSD-src-9fbc6e93de5a6d93c811ff7ab26c7612604f0512.zip FreeBSD-src-9fbc6e93de5a6d93c811ff7ab26c7612604f0512.tar.gz |
Fix Giant leakage in several error cases in __semctl().
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/sysv_sem.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c index 152ce0b..1b3c827 100644 --- a/sys/kern/sysv_sem.c +++ b/sys/kern/sysv_sem.c @@ -494,14 +494,14 @@ __semctl(td, uap) switch(cmd) { case SEM_STAT: if (semid < 0 || semid >= seminfo.semmsl) - return(EINVAL); + UGAR(EINVAL); semaptr = &sema[semid]; if ((semaptr->sem_perm.mode & SEM_ALLOC) == 0 ) - return(EINVAL); + UGAR(EINVAL); if ((error = ipcperm(td, &semaptr->sem_perm, IPC_R))) - return(error); + UGAR(error); if ((error = copyin(arg, &real_arg, sizeof(real_arg))) != 0) - return(error); + UGAR(error); error = copyout((caddr_t)semaptr, real_arg.buf, sizeof(struct semid_ds)); rval = IXSEQ_TO_IPCID(semid,semaptr->sem_perm); |