[hotssh] gssh: Avoid a bad reentrance in state transition



commit 67ad31d5c99b17d543b32220996204c8119af871
Author: Colin Walters <walters verbum org>
Date:   Wed Dec 11 13:06:37 2013 -0500

    gssh: Avoid a bad reentrance in state transition
    
    We need to loop after returning, not fall through the switch, because
    the caller may have changed the state again.

 libgssh/gssh-connection.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/libgssh/gssh-connection.c b/libgssh/gssh-connection.c
index 43f8d7f..97c7de4 100644
--- a/libgssh/gssh-connection.c
+++ b/libgssh/gssh-connection.c
@@ -455,7 +455,7 @@ gssh_connection_iteration_internal (GSshConnection   *self,
         
         state_transition (self, GSSH_CONNECTION_STATE_PREAUTH);
         return_task_success_and_clear (&self->handshake_task);
-        /* Fall through */
+        goto repeat;
       }
     case GSSH_CONNECTION_STATE_PREAUTH:
       {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]