Skip to content

Commit 2536b3e

Browse files
committed
bpf, flamenco, fuzz: use uint_sat_add for loader v4 copy instruction
1 parent 0a6014f commit 2536b3e

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

contrib/test/test-vectors-fixtures/txn-fixtures/program-tests.list

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/flamenco/runtime/program/fd_loader_v4_program.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -230,9 +230,9 @@ fd_loader_v4_program_instruction_copy( fd_exec_instr_ctx_t *
230230
/* https://github.com/anza-xyz/agave/blob/v2.2.6/programs/loader-v4/src/lib.rs#L149-L162 */
231231
fd_pubkey_t const * source_owner = fd_borrowed_account_get_owner( &source_program );
232232
if( !memcmp( source_owner, fd_solana_bpf_loader_v4_program_id.key, sizeof(fd_pubkey_t) ) ) {
233-
source_offset += (uint)LOADER_V4_PROGRAM_DATA_OFFSET;
233+
source_offset = fd_uint_sat_add( source_offset, (uint)LOADER_V4_PROGRAM_DATA_OFFSET );
234234
} else if( !memcmp( source_owner, fd_solana_bpf_loader_upgradeable_program_id.key, sizeof(fd_pubkey_t) ) ) {
235-
source_offset += (uint)PROGRAMDATA_METADATA_SIZE;
235+
source_offset = fd_uint_sat_add( source_offset, (uint)PROGRAMDATA_METADATA_SIZE );
236236
} else if( FD_UNLIKELY( memcmp( source_owner, fd_solana_bpf_loader_deprecated_program_id.key, sizeof(fd_pubkey_t) ) &&
237237
memcmp( source_owner, fd_solana_bpf_loader_program_id.key, sizeof(fd_pubkey_t) ) ) ) {
238238
fd_log_collector_msg_literal( instr_ctx, "Source is not a program" );

0 commit comments

Comments
 (0)