diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-06-23 10:38:42 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-06-23 10:44:57 +0200 |
commit | 5459116d610268da79a8973f66a5873ddb6732fb (patch) | |
tree | bb21fb6b131efe0dd5448765c5240ba208d54945 /src/script.h | |
parent | 52d4abfdef93cd622b297a092eb6639e678bcb9d (diff) | |
parent | fa126effc2a03e22708960344e62fc21259deb23 (diff) |
Merge pull request #4293
fa126ef Avoid undefined behavior using CFlatData in CScript serialization (Wladimir J. van der Laan)
Diffstat (limited to 'src/script.h')
-rw-r--r-- | src/script.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/script.h b/src/script.h index bd6574627a..ea988f0e40 100644 --- a/src/script.h +++ b/src/script.h @@ -770,12 +770,12 @@ public: void Serialize(Stream &s, int nType, int nVersion) const { std::vector<unsigned char> compr; if (Compress(compr)) { - s << CFlatData(&compr[0], &compr[compr.size()]); + s << CFlatData(compr); return; } unsigned int nSize = script.size() + nSpecialScripts; s << VARINT(nSize); - s << CFlatData(&script[0], &script[script.size()]); + s << CFlatData(script); } template<typename Stream> @@ -784,13 +784,13 @@ public: s >> VARINT(nSize); if (nSize < nSpecialScripts) { std::vector<unsigned char> vch(GetSpecialSize(nSize), 0x00); - s >> REF(CFlatData(&vch[0], &vch[vch.size()])); + s >> REF(CFlatData(vch)); Decompress(nSize, vch); return; } nSize -= nSpecialScripts; script.resize(nSize); - s >> REF(CFlatData(&script[0], &script[script.size()])); + s >> REF(CFlatData(script)); } }; |