connection dies unexpectedly (CONNABORTED / CONNRESET)
git-svn-id: svn://svn.tartarus.org/sgt/putty@910
cda61777-01e9-0310-a592-
d414129be87e
static int raw_receive (Socket skt, int urgent, char *data, int len) {
if (urgent==3) {
/* A socket error has occurred. */
+ sk_close(s);
s = NULL;
connection_fatal(data);
len = 0;
- }
- if (!len) {
+ return 0;
+ } else if (!len) {
/* Connection has closed. */
sk_close(s);
s = NULL;
static int rlogin_receive (Socket skt, int urgent, char *data, int len) {
if (urgent==3) {
/* A socket error has occurred. */
+ sk_close(s);
s = NULL;
connection_fatal(data);
- len = 0;
- }
- if (!len) {
+ return 0;
+ } else if (!len) {
/* Connection has closed. */
sk_close(s);
s = NULL;
if (urgent==3) {
/* A socket error has occurred. */
ssh_state = SSH_STATE_CLOSED;
+ sk_close(s);
s = NULL;
connection_fatal(data);
- len = 0;
- }
- if (!len) {
+ return 0;
+ } else if (!len) {
/* Connection has closed. */
ssh_state = SSH_STATE_CLOSED;
sk_close(s);
static int telnet_receive(Socket skt, int urgent, char *data, int len) {
if (urgent==3) {
/* A socket error has occurred. */
+ sk_close(s);
s = NULL;
connection_fatal(data);
- len = 0;
- }
- if (!len) {
+ return 0;
+ } else if (!len) {
/* Connection has closed. */
sk_close(s);
s = NULL;