1Axen/blink

buffer access out of bounds

Closed this issue · 3 comments

I'm not sure why exactly it happens, but it happens for the reliable remote OnClientEvent.
image
image

Here's the blink file if you need it:
option ClientOutput = "./net/client.luau"
option ServerOutput = "./net/server.luau"

scope Hero {
    event Spawn {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Poll: true,
        Data: (u32, u8, string, f64)
    }

    event Despawn {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Poll: true,
        Data: u16
    }
}

scope Mob {
    struct Update {
        MobId: u16,
        X: f16,
        Y: f16,
        Z: f16,
        RX: f16,
        RY: f16,
        RZ: f16,
    }

    event UpdateTransform {
        From: Server,
        Type: Unreliable,
        Call: SingleSync,
        Poll: true,
        Data: Update[]
    }

    event Spawn {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Poll: true,
        Data: (u32, CFrame<f32, f16>, u8, string)
    }

    event Despawn {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Poll: true,
        Data: u16
    }

    event Drop {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Data: (f64, string, u8, vector)
    }

    event DamageMob {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Data: (u16, u32)
    }
}

scope DevTools {
    event CreateMobs {
        From: Client,
        Type: Reliable,
        Call: SingleSync,
        Poll: true,
        Data: u32
    }
    event SetLevel {
        From: Client,
        Type: Reliable,
        Call: SingleSync,
        Data: u8
    }
    event PauseResumeGame {
        From: Client,
        Type: Reliable,
        Call: SingleSync,
        Data: boolean
    }
}

scope Combat {
    struct SkillUse {
        EntityId: u16,
        SkillName: string,
        TargetId: u16?,
        ExecutionNum: u16
    }

    struct StatusEffect {
        EntityId: u16,
        EffectName: string,
        Duration: f32
    }
    
    struct SkillEffect {
        SkillName: string,
        ExecutionNum: u16,
        EffectData: map {[string]: string}?
    }

    function UseSkill {
        Yield: Coroutine,
        Data: string,
        Return: (boolean, string?)
    }

    event SkillUsed {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Data: SkillUse
    }

    event PlaySkillEffect {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Data: SkillEffect
    }

    event ApplyStatusEffect {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Data: StatusEffect
    }

    event RemoveStatusEffect {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Data: (u16, string)
    }
}

scope Player {
    event ShowSkillUpgradeSelection {
        From: Server,
        Type: Reliable,
        Call: SingleSync,
        Data: (string, string, string)
    }

    event SelectSkillUpgrade {
        From: Client,
        Type: Reliable,
        Call: SingleSync,
        Data: string
    }
}

Could you provide a small repro file?

I've tried for a bit now, but I can't seem to find out what causes the error to happen, and the error message makes it unclear which event it's happening from. So, unfortunately, it will be hard for me to provide a repro file.

1Axen commented

Can't reproduce