Check against illegal transfer state.
[doldaconnect.git] / daemon / fnet-dc.c
index fd7a79d..30b0a24 100644 (file)
@@ -553,6 +553,8 @@ static char **parseadc(char *args)
                state = 3;
            else if(*args != ' ')
                state = 1;
+           else
+               args++;
            break;
        case 1:
            if((*args == ' ') || (*args == 0))
@@ -1616,7 +1618,7 @@ static void cmd_direction(struct socket *sk, struct dcpeer *peer, char *cmd, cha
        if(peer->direction == TRNSD_DOWN)
            requestfile(peer);
     } else {
-       if(peer->wcsname == NULL)
+       if((peer->wcsname == NULL) || (peer->transfer != NULL))
        {
            peer->close = 1;
            return;