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.
This commit is contained in:
xirvik
2026-08-07 05:39:39 +00:00
committed by Jari Sundell
parent dd3ddf7c39
commit 87db1cf0f0
+5
View File
@@ -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));