You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a client sends a warning for an offline user, retro-aim-server crashes with a segmentation fault.
Deployment environment
retro-aim-server version: Multiple versions, as of 643b26e
Install method: source, reproduced on Linux and MacOS
Clients used: AIM 5.1.3036, AIM 5.9.6089
Other relevant details:
Steps to reproduce
Sign on two users, Alice and Bob
Start a conversation between Alice and Bob
Sign off Alice
Have Bob attempt to warn Alice
Observe that when the warning is sent, RAS crashes with a segmentation fault
Expected behaviour
Expect an error back that the user is offline or otherwise indicate the warning was not successful
Actual behaviour
ras crashes with segmentation fault
Troubleshooting data
icbm.go EvilRequest() attempts to check if the user is online before performing the warning, but it is sending an empty snac which causes a crash when marshalling/encoding the empty snac.
When a warned screenname is offline ras would attempt to send an empty SNAC,
which caused a crash when marshalling the nil value. Fix by sending a proper
error message, and also detect the nil value when marshalling so we don't crash
on future empty snacs.
Closesmk6i#38
Subject of the issue
When a client sends a warning for an offline user, retro-aim-server crashes with a segmentation fault.
Deployment environment
retro-aim-server version: Multiple versions, as of 643b26e
Install method: source, reproduced on Linux and MacOS
Clients used: AIM 5.1.3036, AIM 5.9.6089
Other relevant details:
Steps to reproduce
Expected behaviour
Expect an error back that the user is offline or otherwise indicate the warning was not successful
Actual behaviour
ras crashes with segmentation fault
Troubleshooting data
icbm.go EvilRequest() attempts to check if the user is online before performing the warning, but it is sending an empty snac which causes a crash when marshalling/encoding the empty snac.
The text was updated successfully, but these errors were encountered: