diff options
Diffstat (limited to 'ipc/sem.c')
-rw-r--r-- | ipc/sem.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/ipc/sem.c b/ipc/sem.c index 1b1acdb0aee8..bee555417312 100644 --- a/ipc/sem.c +++ b/ipc/sem.c @@ -492,9 +492,9 @@ static int newary(struct ipc_namespace *ns, struct ipc_params *params) size = sizeof(*sma) + nsems * sizeof(struct sem); sma = ipc_rcu_alloc(size); - if (!sma) { + if (!sma) return -ENOMEM; - } + memset(sma, 0, size); sma->sem_perm.mode = (semflg & S_IRWXUGO); @@ -1967,10 +1967,8 @@ sleep_again: * If queue.status != -EINTR we are woken up by another process. * Leave without unlink_queue(), but with sem_unlock(). */ - - if (error != -EINTR) { + if (error != -EINTR) goto out_unlock_free; - } /* * If an interrupt occurred we have to clean up the queue |