From 87db1cf0f0fb53b4b93a09a7f9e34dae8fb7edd2 Mon Sep 17 00:00:00 2001 From: xirvik Date: Fri, 7 Aug 2026 05:39:39 +0000 Subject: [PATCH] rpc: do not dereference a null result from the xmlrpc-c registry. A failed call returns null, which was passed straight to xmlrpc_mem_block_contents. --- src/rpc/xmlrpc_c.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/rpc/xmlrpc_c.cc b/src/rpc/xmlrpc_c.cc index 83efae78..ab04166d 100644 --- a/src/rpc/xmlrpc_c.cc +++ b/src/rpc/xmlrpc_c.cc @@ -451,6 +451,11 @@ XmlRpc::process(const char* inBuffer, uint32_t length, slot_write slotWrite) { if (local_env.fault_occurred && local_env.fault_code == XMLRPC_INTERNAL_ERROR) throw torrent::internal_error("Internal error in XMLRPC."); + if (memblock == nullptr) { + xmlrpc_env_clean(&local_env); + return false; + } + bool result = slotWrite((const char*)xmlrpc_mem_block_contents(memblock), xmlrpc_mem_block_size(memblock));