From a4a156290589751a741060c4a2e33e72f0ef21a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20K=C3=A9ri?= Date: Fri, 3 Jan 2025 19:16:56 +0100 Subject: [PATCH] encoding/base32: Add `@(rodata)` attribute to default tables Add `@(rodata)` attribute to `ENC_TABLE` and `DEC_TABLE` to mark them as read-only data. This places these tables in the read-only section of the executable, protecting them from modification during program execution. --- core/encoding/base32/base32.odin | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/encoding/base32/base32.odin b/core/encoding/base32/base32.odin index 0b8ec95c4..8629491b1 100644 --- a/core/encoding/base32/base32.odin +++ b/core/encoding/base32/base32.odin @@ -28,6 +28,7 @@ _validate_default :: proc(c: byte) -> bool { return (c >= 'A' && c <= 'Z') || (c >= '2' && c <= '7') } +@(rodata) ENC_TABLE := [32]byte { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', @@ -37,6 +38,7 @@ ENC_TABLE := [32]byte { PADDING :: '=' +@(rodata) DEC_TABLE := [256]u8 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,