Name the on-stack union of compat thunks.
C does not permit an anonymous union at a top-level scope. Pointy hat to: jhb
This commit is contained in:
parent
df665abd34
commit
62cddd0e03
@ -440,7 +440,7 @@ cryptof_ioctl(
|
|||||||
struct crypt_aead aeadc;
|
struct crypt_aead aeadc;
|
||||||
struct crypt_kop kopc;
|
struct crypt_kop kopc;
|
||||||
#endif
|
#endif
|
||||||
};
|
} thunk;
|
||||||
#ifdef COMPAT_FREEBSD32
|
#ifdef COMPAT_FREEBSD32
|
||||||
u_long cmd32;
|
u_long cmd32;
|
||||||
void *data32;
|
void *data32;
|
||||||
@ -452,29 +452,30 @@ cryptof_ioctl(
|
|||||||
cmd32 = cmd;
|
cmd32 = cmd;
|
||||||
data32 = data;
|
data32 = data;
|
||||||
cmd = CIOCGSESSION;
|
cmd = CIOCGSESSION;
|
||||||
data = &sopc;
|
data = &thunk.sopc;
|
||||||
session_op_from_32((struct session_op32 *)data32, &sopc);
|
session_op_from_32((struct session_op32 *)data32, &thunk.sopc);
|
||||||
break;
|
break;
|
||||||
case CIOCGSESSION232:
|
case CIOCGSESSION232:
|
||||||
cmd32 = cmd;
|
cmd32 = cmd;
|
||||||
data32 = data;
|
data32 = data;
|
||||||
cmd = CIOCGSESSION2;
|
cmd = CIOCGSESSION2;
|
||||||
data = &sopc;
|
data = &thunk.sopc;
|
||||||
session2_op_from_32((struct session2_op32 *)data32, &sopc);
|
session2_op_from_32((struct session2_op32 *)data32,
|
||||||
|
&thunk.sopc);
|
||||||
break;
|
break;
|
||||||
case CIOCCRYPT32:
|
case CIOCCRYPT32:
|
||||||
cmd32 = cmd;
|
cmd32 = cmd;
|
||||||
data32 = data;
|
data32 = data;
|
||||||
cmd = CIOCCRYPT;
|
cmd = CIOCCRYPT;
|
||||||
data = &copc;
|
data = &thunk.copc;
|
||||||
crypt_op_from_32((struct crypt_op32 *)data32, &copc);
|
crypt_op_from_32((struct crypt_op32 *)data32, &thunk.copc);
|
||||||
break;
|
break;
|
||||||
case CIOCCRYPTAEAD32:
|
case CIOCCRYPTAEAD32:
|
||||||
cmd32 = cmd;
|
cmd32 = cmd;
|
||||||
data32 = data;
|
data32 = data;
|
||||||
cmd = CIOCCRYPTAEAD;
|
cmd = CIOCCRYPTAEAD;
|
||||||
data = &aeadc;
|
data = &thunk.aeadc;
|
||||||
crypt_aead_from_32((struct crypt_aead32 *)data32, &aeadc);
|
crypt_aead_from_32((struct crypt_aead32 *)data32, &thunk.aeadc);
|
||||||
break;
|
break;
|
||||||
case CIOCKEY32:
|
case CIOCKEY32:
|
||||||
case CIOCKEY232:
|
case CIOCKEY232:
|
||||||
@ -484,8 +485,8 @@ cryptof_ioctl(
|
|||||||
cmd = CIOCKEY;
|
cmd = CIOCKEY;
|
||||||
else
|
else
|
||||||
cmd = CIOCKEY2;
|
cmd = CIOCKEY2;
|
||||||
data = &kopc;
|
data = &thunk.kopc;
|
||||||
crypt_kop_from_32((struct crypt_kop32 *)data32, &kopc);
|
crypt_kop_from_32((struct crypt_kop32 *)data32, &thunk.kopc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -494,8 +495,8 @@ cryptof_ioctl(
|
|||||||
case CIOCGSESSION:
|
case CIOCGSESSION:
|
||||||
case CIOCGSESSION2:
|
case CIOCGSESSION2:
|
||||||
if (cmd == CIOCGSESSION) {
|
if (cmd == CIOCGSESSION) {
|
||||||
session2_op_from_op(data, &sopc);
|
session2_op_from_op(data, &thunk.sopc);
|
||||||
sop = &sopc;
|
sop = &thunk.sopc;
|
||||||
} else
|
} else
|
||||||
sop = (struct session2_op *)data;
|
sop = (struct session2_op *)data;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user