Fix a read returning 0 in the SocketRead callback for SSL being handled as an error, while it's meant to indicate "no data available".
This would cause disconnections with the error "(Libpurple: cdsa) receive failed (-9802): Undefined error: 0".
Fixes #16356, fixes #15405, fixes #15411, fixes #15741