| Summary: | Incompatible declaration of AuthctxtV2.success | ||
|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | Tom Hanson <THanson> |
| Component: | ssh | Assignee: | Assigned to nobody <unassigned-bugs> |
| Status: | CLOSED FIXED | ||
| Severity: | normal | CC: | djm |
| Priority: | P2 | ||
| Version: | 5.0p1 | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Bug Depends on: | |||
| Bug Blocks: | 1708 | ||
|
Description
Tom Hanson
2008-08-12 02:44:03 AEST
Source file sshconnect2.c contains the definition of structure AuthctxtV2. Field "success" in this structure is declared as type "int". In function ssh_userauth2(), authctxt.success is passed to dispatch_run() as the second argument. dispatch_run() is declared in dispatch.c with a second parameter of type sig_atomic_t. On some OS's (i.e. VxWorks) "sig_atomic_t" is declared as "unsigned char". Where the system is also big-endian, the size mismatch between "sig_atomic_t" as "unsigned char" and "authctxt.success" as "int" causes the data to be written to / read from different bytes. Specifically, the result written by dispatch_run() is not seen b Source file sshconnect2.c contains the definition of structure AuthctxtV2. Field "success" in this structure is declared as type "int". In function ssh_userauth2(), authctxt.success is passed to dispatch_run() as the second argument. dispatch_run() is declared in dispatch.c with a second parameter of type sig_atomic_t. On some OS's (i.e. VxWorks) "sig_atomic_t" is declared as "unsigned char". Where the system is also big-endian, the size mismatch between "sig_atomic_t" as "unsigned char" and "authctxt.success" as "int" causes the data to be written to / read from different bytes. Fixed in CVS. Will be in openssh-5.6 -thanks! Move resolved bugs to CLOSED after 5.7 release |