mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
sys/linux: Fix a few potential infoleaks in Linux IPC
Submitted by: Domagoj Stolfa <domagoj.stolfa@gmail.com> MFC After: 1 month
This commit is contained in:
parent
40301da899
commit
6eee883a17
1 changed files with 10 additions and 0 deletions
|
|
@ -548,6 +548,9 @@ linux_semctl(struct thread *td, struct linux_semctl_args *args)
|
|||
register_t rval;
|
||||
int cmd, error;
|
||||
|
||||
memset(&linux_seminfo, 0, sizeof(linux_seminfo));
|
||||
memset(&linux_semid64, 0, sizeof(linux_semid64));
|
||||
|
||||
switch (args->cmd & ~LINUX_IPC_64) {
|
||||
case LINUX_IPC_RMID:
|
||||
cmd = IPC_RMID;
|
||||
|
|
@ -702,12 +705,15 @@ linux_msgctl(struct thread *td, struct linux_msgctl_args *args)
|
|||
struct l_msqid64_ds linux_msqid64;
|
||||
struct msqid_ds bsd_msqid;
|
||||
|
||||
memset(&linux_msqid64, 0, sizeof(linux_msqid64));
|
||||
|
||||
bsd_cmd = args->cmd & ~LINUX_IPC_64;
|
||||
switch (bsd_cmd) {
|
||||
case LINUX_IPC_INFO:
|
||||
case LINUX_MSG_INFO: {
|
||||
struct l_msginfo linux_msginfo;
|
||||
|
||||
memset(&linux_msginfo, 0, sizeof(linux_msginfo));
|
||||
/*
|
||||
* XXX MSG_INFO uses the same data structure but returns different
|
||||
* dynamic counters in msgpool, msgmap, and msgtql fields.
|
||||
|
|
@ -833,6 +839,10 @@ linux_shmctl(struct thread *td, struct linux_shmctl_args *args)
|
|||
struct shmid_ds bsd_shmid;
|
||||
int error;
|
||||
|
||||
memset(&linux_shm_info, 0, sizeof(linux_shm_info));
|
||||
memset(&linux_shmid64, 0, sizeof(linux_shmid64));
|
||||
memset(&linux_shminfo64, 0, sizeof(linux_shminfo64));
|
||||
|
||||
switch (args->cmd & ~LINUX_IPC_64) {
|
||||
|
||||
case LINUX_IPC_INFO: {
|
||||
|
|
|
|||
Loading…
Reference in a new issue