diff options
| author | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-08-09 07:14:41 +0300 |
|---|---|---|
| committer | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-08-09 08:58:08 +0300 |
| commit | a62e3abe2aae259f90289b431e086490020d49ed (patch) | |
| tree | 918411e51796e6c7f7cfc336db18ebca01cf8e86 /accel-pppd/ctrl/ipoe | |
| parent | f49ed06b26b2b3ea3a97589be2e51ceb2a084243 (diff) | |
| download | accel-ppp-a62e3abe2aae259f90289b431e086490020d49ed.tar.gz accel-ppp-a62e3abe2aae259f90289b431e086490020d49ed.zip | |
pptp: check getsockname()/getpeername() results
Both calls were issued on an uninitialised struct sockaddr_in and their
results ignored, so a failure would build the tunnel endpoints, and the
call socket's local call id, out of stack garbage. Fail the call instead.
In pptp_connect() the local address was fetched into the same variable
that held the peer address obtained from accept(), so a failure there
would silently set called-station-id to the calling station. Read it
into its own variable before the connection is set up, and re-arm the
address length before each accept() rather than leaving it at whatever
the previous iteration wrote.
Diffstat (limited to 'accel-pppd/ctrl/ipoe')
0 files changed, 0 insertions, 0 deletions
