提交 3a6c71cd 编写于 作者: K Kevin Heifner

Change max_stack_buffer_size from 128 to 512

上级 a6ada792
......@@ -27,7 +27,7 @@ namespace eosio {
(void)schedule; // schedule argument just forces the deserialization of the action data into vector<producer_key> (necessary check)
require_auth( _self );
constexpr size_t max_stack_buffer_size = 128;
constexpr size_t max_stack_buffer_size = 512;
size_t size = action_data_size();
char* buffer = (char*)( max_stack_buffer_size < size ? malloc(size) : alloca(size) );
read_action_data( buffer, size );
......
......@@ -17,7 +17,7 @@ void multisig::propose( account_name proposer,
*/
void multisig::propose() {
constexpr size_t max_stack_buffer_size = 128;
constexpr size_t max_stack_buffer_size = 512;
size_t size = action_data_size();
char* buffer = (char*)( max_stack_buffer_size < size ? malloc(size) : alloca(size) );
read_action_data( buffer, size );
......
......@@ -44,7 +44,7 @@ namespace eosio {
*/
template<typename T>
T unpack_action_data() {
constexpr size_t max_stack_buffer_size = 128;
constexpr size_t max_stack_buffer_size = 512;
size_t size = action_data_size();
char* buffer = (char*)( max_stack_buffer_size < size ? malloc(size) : alloca(size) );
read_action_data( buffer, size );
......
......@@ -42,7 +42,7 @@ namespace eosio {
size_t size = action_data_size();
//using malloc/free here potentially is not exception-safe, although WASM doesn't support exceptions
constexpr size_t max_stack_buffer_size = 128;
constexpr size_t max_stack_buffer_size = 512;
void* buffer = nullptr;
if( size > 0 ) {
buffer = max_stack_buffer_size < size ? malloc(size) : alloca(size);
......
......@@ -136,7 +136,7 @@ class multi_index
return (n & 0x000000000000000FULL) == 0;
}
constexpr static size_t max_stack_buffer_size = 128;
constexpr static size_t max_stack_buffer_size = 512;
static_assert( validate_table_name(TableName), "multi_index does not support table names with a length greater than 12");
......
......@@ -76,7 +76,7 @@ namespace eosio {
* @return the indicated action
*/
inline action get_action( uint32_t type, uint32_t index ) {
constexpr size_t max_stack_buffer_size = 128;
constexpr size_t max_stack_buffer_size = 512;
int s = ::get_action( type, index, nullptr, 0 );
eosio_assert( s > 0, "get_action size failed" );
size_t size = static_cast<size_t>(s);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册