mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-08 07:09:21 +00:00
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:
@@ -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)
|
if (local_env.fault_occurred && local_env.fault_code == XMLRPC_INTERNAL_ERROR)
|
||||||
throw torrent::internal_error("Internal error in XMLRPC.");
|
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),
|
bool result = slotWrite((const char*)xmlrpc_mem_block_contents(memblock),
|
||||||
xmlrpc_mem_block_size(memblock));
|
xmlrpc_mem_block_size(memblock));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user