solana-labs/solana

Missing invoke translation test

Open

#13.955 geöffnet am 4. Dez. 2020

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Rust (3.950 Forks)batch import
good first issueruntime

Repository-Metriken

Stars
 (12.651 Stars)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

Problem

Missing a test that verifies the AccountInfo's data length is correctly enforced to exist in RW data. The length is translated correctly but we have no way to ensure that it will continue to do so over time.

https://github.com/solana-labs/solana/blob/5dceddd21d3c1cf874b003a0c25b1f21f4926614/programs/bpf/rust/ro_modify/src/lib.rs#L158

Proposed Solution

AccountInfo's data is expressed as an Rc<RefCell<&mut [u8]>>, need a way to construct this where the slice's len is in RO memory (like the RO segment of a BPF ELF) while the data pointer points to RW memory. This is not a use case that can be activated without malicious intent.

Contributor Guide