diff --git a/modules/ripple_basics/utility/ripple_Log.h b/modules/ripple_basics/utility/ripple_Log.h index ec8032e478..ccb37bc35b 100644 --- a/modules/ripple_basics/utility/ripple_Log.h +++ b/modules/ripple_basics/utility/ripple_Log.h @@ -54,7 +54,10 @@ public: } }; -#define SETUP_LOG(k) template <> inline char const* LogPartition::getFileName () { return __FILE__; } +#define SETUP_LOG(k) \ + template <> inline char const* LogPartition::getFileName () { return __FILE__; } \ + struct k##Instantiator { k##Instantiator () { LogPartition::get (); } }; \ + static k##Instantiator k##Instantiator_instance; //------------------------------------------------------------------------------ diff --git a/src/cpp/ripple/BitcoinUtil.h b/src/cpp/ripple/BitcoinUtil.h index eca8a72451..c124db3e63 100644 --- a/src/cpp/ripple/BitcoinUtil.h +++ b/src/cpp/ripple/BitcoinUtil.h @@ -11,8 +11,6 @@ std::string strprintf(const char* format, ...); std::string FormatFullVersion(); void RandAddSeedPerfmon(); -static const unsigned int MAX_SIZE = 0x02000000; - #define loop for (;;) #define PAIR(t1, t2) pair diff --git a/src/cpp/ripple/rpc.cpp b/src/cpp/ripple/rpc.cpp index 9b401c23e4..594bd34462 100644 --- a/src/cpp/ripple/rpc.cpp +++ b/src/cpp/ripple/rpc.cpp @@ -23,6 +23,8 @@ SETUP_LOG (RPC) using namespace boost; using namespace boost::asio; +unsigned int const gMaxHTTPHeaderSize = 0x02000000; + Json::Value JSONRPCError(int code, const std::string& message) { Json::Value error(Json::objectValue); @@ -173,7 +175,7 @@ int ReadHTTP(std::basic_istream& stream, std::map MAX_SIZE) + if (nLen < 0 || nLen > gMaxHTTPHeaderSize) return 500; // Read message