diff options
author | Alan Antonuk <alan.antonuk@gmail.com> | 2013-06-14 14:15:53 -0700 |
---|---|---|
committer | Alan Antonuk <alan.antonuk@gmail.com> | 2013-06-14 14:15:53 -0700 |
commit | 33c2353efeac5e4803ed1940bf20e36b62fe500d (patch) | |
tree | 0fb1098b82ec319baf0428cb2c540ff1a276e795 | |
parent | ac1d9057c3b4bb33a7e336a119af543b4f6ca55e (diff) | |
download | rabbitmq-c-github-ask-33c2353efeac5e4803ed1940bf20e36b62fe500d.tar.gz |
Set state->socket to NULL after amqp_socket_close
amqp_socket_close has the side-effect of destroying the socket object.
Use after this will cause undefined behavior
-rw-r--r-- | librabbitmq/amqp_socket.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/librabbitmq/amqp_socket.c b/librabbitmq/amqp_socket.c index 3c6a42e..cbca0bc 100644 --- a/librabbitmq/amqp_socket.c +++ b/librabbitmq/amqp_socket.c @@ -421,6 +421,7 @@ int amqp_simple_wait_method(amqp_connection_state_t state, || frame.frame_type != AMQP_FRAME_METHOD || frame.payload.method.id != expected_method) { amqp_socket_close(state->socket); + state->socket = NULL; return AMQP_STATUS_WRONG_METHOD; } *output = frame.payload.method; |