File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change 18
18
19
19
#include < common/parser.h>
20
20
#include < sstream>
21
+ #include < memory>
21
22
#include < string>
22
23
#include < fmt/core.h>
23
24
#include " common.h"
@@ -131,13 +132,17 @@ void check_testcase(const testcase_t &tc, bool expert_mode) {
131
132
parser_context_t ctx = {0 };
132
133
parser_error_t err = parser_unexpected_error;
133
134
134
- uint8_t buffer[10000 ] = {0 };
135
- const uint16_t bufferLen = parseHexString (buffer, sizeof (buffer), tc.blob .c_str ());
135
+ uint16_t bufferCap = 0xffff ;
136
+ std::unique_ptr<uint8_t > buffer{new uint8_t [bufferCap]};
137
+ ASSERT_NE (buffer, nullptr ) << " Failed to allocate tx buffer" ;
138
+
139
+ const uint16_t bufferLen = parseHexString (buffer.get (), bufferCap, tc.blob .c_str ());
140
+ ASSERT_NE (bufferLen, 0 ) << " Failed to parse tx from provided blob: " << tc.blob ;
136
141
137
142
parser_tx_t tx_obj;
138
143
memset (&tx_obj, 0 , sizeof (tx_obj));
139
144
140
- err = parser_parse (&ctx, buffer, bufferLen, &tx_obj);
145
+ err = parser_parse (&ctx, buffer. get () , bufferLen, &tx_obj);
141
146
ASSERT_EQ (err, parser_ok) << parser_getErrorDescription (err);
142
147
143
148
err = parser_validate (&ctx);
You can’t perform that action at this time.
0 commit comments