summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Antonuk <alan.antonuk@gmail.com>2013-06-14 14:15:53 -0700
committerAlan Antonuk <alan.antonuk@gmail.com>2013-06-14 14:15:53 -0700
commit33c2353efeac5e4803ed1940bf20e36b62fe500d (patch)
tree0fb1098b82ec319baf0428cb2c540ff1a276e795
parentac1d9057c3b4bb33a7e336a119af543b4f6ca55e (diff)
downloadrabbitmq-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.c1
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;