commit 0a0cf7bafd35cdfb97afa4042a753347ec24bdd1 Author: David Freese Date: Wed Jun 5 21:29:01 2019 -0500 xmlrpc * fix for zero length byte vector instantiation on Fedora global build diff --git a/src/network/xmlrpc.cxx b/src/network/xmlrpc.cxx index bedc1baac..32f1261f3 100644 --- a/src/network/xmlrpc.cxx +++ b/src/network/xmlrpc.cxx @@ -2996,8 +2996,9 @@ public: throw f; } - if (!size) { - *retval = xmlrpc_c::value_bytestring("empty rx buffer!"); + if (size == 0) { + *retval = xmlrpc_c::value_bytestring(""); +// *retval = xmlrpc_c::value_bytestring("empty rx buffer!"); } else { vector bytes(size); memcpy(&bytes[0], text, size); @@ -3129,10 +3130,14 @@ public: int size; REQ_SYNC(get_rxtx, &text, &size); - vector bytes(size); - memcpy(&bytes[0], text, size); + if (size == 0) { + *retval = xmlrpc_c::value_bytestring(""); + } else { + vector bytes(size); + memcpy(&bytes[0], text, size); + *retval = xmlrpc_c::value_bytestring(bytes); + } LOG_VERBOSE("RXTX.get_data: %s", text); - *retval = xmlrpc_c::value_bytestring(bytes); } }; @@ -3159,10 +3164,14 @@ public: int size; REQ_SYNC(get_rx, &text, &size); - vector bytes(size); - memcpy(&bytes[0], text, size); + if (size == 0) { + *retval = xmlrpc_c::value_bytestring(""); + } else { + vector bytes(size); + memcpy(&bytes[0], text, size); + *retval = xmlrpc_c::value_bytestring(bytes); + } LOG_VERBOSE("RX.get_data: %s", text); - *retval = xmlrpc_c::value_bytestring(bytes); } }; @@ -3189,10 +3198,14 @@ public: int size; REQ_SYNC(get_tx, &text, &size); - vector bytes(size); - memcpy(&bytes[0], text, size); + if (size == 0) { + *retval = xmlrpc_c::value_bytestring(""); + } else { + vector bytes(size); + memcpy(&bytes[0], text, size); + *retval = xmlrpc_c::value_bytestring(bytes); + } LOG_VERBOSE("TX.get_data: %s", text); - *retval = xmlrpc_c::value_bytestring(bytes); } };