From 8155ff7a4fb887532e6eba8e86754c8504446701 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Fri, 26 Jun 2026 10:10:29 +0100 Subject: [PATCH] Rust: Add a few more test cases for constants / constant propagation. --- .../ql/test/query-tests/security/CWE-798/test_heuristic.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rust/ql/test/query-tests/security/CWE-798/test_heuristic.rs b/rust/ql/test/query-tests/security/CWE-798/test_heuristic.rs index 6f46f581f1f..9f5d458b416 100644 --- a/rust/ql/test/query-tests/security/CWE-798/test_heuristic.rs +++ b/rust/ql/test/query-tests/security/CWE-798/test_heuristic.rs @@ -68,6 +68,9 @@ fn test(var_string: &str, var_data: &[u8;16], var_u64: u64) { mc2.set_salt_u64(var_u64); mc2.set_salt_u64(var_u64 + 1); mc2.set_salt_u64((var_u64 << 32) ^ (var_u64 & 0xFFFFFFFF)); + mc2.set_salt_u64(1 << 4); // $ MISSING: Alert[rust/hard-coded-cryptographic-value] + mc2.set_salt_u64(u64::MAX); // $ MISSING: Alert[rust/hard-coded-cryptographic-value] + mc2.set_salt_u64(u64::MAX / 4); // $ MISSING: Alert[rust/hard-coded-cryptographic-value] let mut key1 = "foo".to_string(); // $ MISSING: Alert[rust/hard-coded-cryptographic-value] key1 += "bar"; // $ MISSING: Alert[rust/hard-coded-cryptographic-value] @@ -76,4 +79,8 @@ fn test(var_string: &str, var_data: &[u8;16], var_u64: u64) { let mut key2 = "foo".to_string(); key2 += var_string; let _ = MyCryptor::new(&key2); + + let mut key3 = var_string.to_string(); + key3 += "bar"; + let _ = MyCryptor::new(&key3); }