Back to Rules Library
EPIC-SEC-004MEDIUMTarget: Data Alignment

Struct Memory Offset Alignment Verification

Description

Enforces memory structural byte alignment.

Technical Rationale

Solana's execution runtime requires memory structures to align to 8-byte boundaries for efficient instruction loading. A structural layout that leaves u64 or Pubkey fields misaligned will cause sudden transaction crashes.

Code Assessment Examples

Insecure Practice
// Vulnerable: u8 insertion leaves u64 misaligned on 8-byte boundary
struct Stats {
    authority: Pubkey,
    tier: u8, // 1 byte
    amount: u64, // Misaligned! Causes runtime panic
}
Secure Resolution
// Safe: Padding restores exact 8-byte alignment constraints
struct Stats {
    authority: Pubkey,
    tier: u8,
    _padding: [u8; 7], // Pads to 8-byte boundary
    amount: u64,
}