diff options
| author | Wladimir J. van der Laan <[email protected]> | 2014-08-06 13:03:58 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2014-08-06 13:03:58 +0200 |
| commit | 733177ebd3ecf3a03c2acb6b244c8b3d1b4a3981 (patch) | |
| tree | 16cc0d40264dbfec961392fc79dd5520a368a6fe /src/rpcprotocol.cpp | |
| parent | Avoid a copy in RPC output (diff) | |
| download | discoin-733177ebd3ecf3a03c2acb6b244c8b3d1b4a3981.tar.xz discoin-733177ebd3ecf3a03c2acb6b244c8b3d1b4a3981.zip | |
Remove size limit in RPC client, keep it in server
The size limit makes a lot of sense for the server, as it never has to
accept very large data.
The client, however, can request arbitrary amounts of data with
`listtransactions` on a large wallet.
Fixes #4604.
Diffstat (limited to 'src/rpcprotocol.cpp')
| -rw-r--r-- | src/rpcprotocol.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/rpcprotocol.cpp b/src/rpcprotocol.cpp index 48c6c68eb..643208b3b 100644 --- a/src/rpcprotocol.cpp +++ b/src/rpcprotocol.cpp @@ -201,14 +201,14 @@ int ReadHTTPHeaders(std::basic_istream<char>& stream, map<string, string>& mapHe int ReadHTTPMessage(std::basic_istream<char>& stream, map<string, string>& mapHeadersRet, string& strMessageRet, - int nProto) + int nProto, size_t max_size) { mapHeadersRet.clear(); strMessageRet = ""; // Read header int nLen = ReadHTTPHeaders(stream, mapHeadersRet); - if (nLen < 0 || nLen > (int)MAX_SIZE) + if (nLen < 0 || (size_t)nLen > max_size) return HTTP_INTERNAL_SERVER_ERROR; // Read message |