diff options
| author | Luke Dashjr <[email protected]> | 2014-12-17 09:34:09 +0000 |
|---|---|---|
| committer | Luke Dashjr <[email protected]> | 2014-12-17 09:37:58 +0000 |
| commit | 7f718139191d67da29c5d856d29e035bbc51e659 (patch) | |
| tree | afb10b02f54d3d94a2a20126d3108dc6d9744160 /src/core_read.cpp | |
| parent | Merge pull request #5267 (diff) | |
| download | discoin-7f718139191d67da29c5d856d29e035bbc51e659.tar.xz discoin-7f718139191d67da29c5d856d29e035bbc51e659.zip | |
Bugfix: prioritisetransaction: Do some basic sanity checking on txid
Besides giving a nicer error, this also prevents logging arbitrary data (which could have been used to exploit log readers) into debug.log
Diffstat (limited to 'src/core_read.cpp')
| -rw-r--r-- | src/core_read.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core_read.cpp b/src/core_read.cpp index 65c3a08c5..beb746ce9 100644 --- a/src/core_read.cpp +++ b/src/core_read.cpp @@ -131,6 +131,11 @@ uint256 ParseHashUV(const UniValue& v, const string& strName) string strHex; if (v.isStr()) strHex = v.getValStr(); + return ParseHashStr(strHex, strName); // Note: ParseHashStr("") throws a runtime_error +} + +uint256 ParseHashStr(const std::string& strHex, const std::string& strName) +{ if (!IsHex(strHex)) // Note: IsHex("") is false throw runtime_error(strName+" must be hexadecimal string (not '"+strHex+"')"); |