Add LIFETIMEBOUND to CScript where needed

pull/22278/head
MarcoFalke 3 years ago
parent dd097c42df
commit fa5c896724
No known key found for this signature in database
GPG Key ID: CE2B75697E69A548

@ -6,6 +6,7 @@
#ifndef BITCOIN_SCRIPT_SCRIPT_H
#define BITCOIN_SCRIPT_SCRIPT_H
#include <attributes.h>
#include <crypto/common.h>
#include <prevector.h>
#include <serialize.h>
@ -438,9 +439,9 @@ public:
/** Delete non-existent operator to defend against future introduction */
CScript& operator<<(const CScript& b) = delete;
CScript& operator<<(int64_t b) { return push_int64(b); }
CScript& operator<<(int64_t b) LIFETIMEBOUND { return push_int64(b); }
CScript& operator<<(opcodetype opcode)
CScript& operator<<(opcodetype opcode) LIFETIMEBOUND
{
if (opcode < 0 || opcode > 0xff)
throw std::runtime_error("CScript::operator<<(): invalid opcode");
@ -448,13 +449,13 @@ public:
return *this;
}
CScript& operator<<(const CScriptNum& b)
CScript& operator<<(const CScriptNum& b) LIFETIMEBOUND
{
*this << b.getvch();
return *this;
}
CScript& operator<<(const std::vector<unsigned char>& b)
CScript& operator<<(const std::vector<unsigned char>& b) LIFETIMEBOUND
{
if (b.size() < OP_PUSHDATA1)
{

Loading…
Cancel
Save