From cd929b89b07d68b0fe7884155f9f1cb54cbe1690 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Sat, 12 Nov 2016 10:12:23 +0000 Subject: [PATCH] levin: fix wrong value passed as return code to remote call When receiving an answer packet, the command code was passed to the callback instead of the error code. This was hiding the "command not found" failure from the peer, and in turn causing the code to attempt to deserialize a non existent reply string. --- contrib/epee/include/net/levin_protocol_handler_async.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/epee/include/net/levin_protocol_handler_async.h b/contrib/epee/include/net/levin_protocol_handler_async.h index be231a7e..67daceaf 100644 --- a/contrib/epee/include/net/levin_protocol_handler_async.h +++ b/contrib/epee/include/net/levin_protocol_handler_async.h @@ -373,7 +373,7 @@ public: invoke_response_handlers_guard.unlock(); if(timer_cancelled) - response_handler->handle(m_current_head.m_command, buff_to_invoke, m_connection_context); + response_handler->handle(m_current_head.m_return_code, buff_to_invoke, m_connection_context); } else {