mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
selftests/landlock: Fix snprintf truncation checks in test files
Commitb566f7a4f0("selftests/landlock: Fix snprintf truncation checks in audit helpers") fixed the truncation detection in audit.h by changing the comparison from ">" to ">=" to correctly handle the edge case where snprintf returns a value equal to the buffer size. However, the same pattern exists in ptrace_test.c, audit_test.c, and net_test.c and was not fixed. snprintf() returns the number of characters that would have been written, excluding the terminating NUL byte. When the output is truncated, this return value equals or exceeds the buffer size. The existing ">" check therefore fails to detect truncation when the return value equals the buffer size. Fix these remaining instances to use ">=" for truncation detection, matching the fix in audit.h. Fixes:6a500b2297("selftests/landlock: Add tests for audit flags and domain IDs") Signed-off-by: Haofeng Li <lihaofeng@kylinos.cn> Signed-off-by: Wang Yan <wangyan01@kylinos.cn> Reviewed-by: Günther Noack <gnoack@google.com> Link: https://patch.msgid.link/20260626070016.61049-1-wangyan01@kylinos.cn Cc: stable@vger.kernel.org Signed-off-by: Mickaël Salaün <mic@digikod.net>
This commit is contained in:
parent
5d2c5cd87a
commit
8e4c736cff
|
|
@ -31,7 +31,7 @@ static int matches_log_signal(struct __test_metadata *const _metadata,
|
|||
|
||||
log_match_len =
|
||||
snprintf(log_match, sizeof(log_match), log_template, opid);
|
||||
if (log_match_len > sizeof(log_match))
|
||||
if (log_match_len >= sizeof(log_match))
|
||||
return -E2BIG;
|
||||
|
||||
return audit_match_record(audit_fd, AUDIT_LANDLOCK_ACCESS, log_match,
|
||||
|
|
|
|||
|
|
@ -2878,7 +2878,7 @@ static int matches_auditlog(const int audit_fd, const char *const blockers,
|
|||
log_match_len = snprintf(log_match, sizeof(log_match),
|
||||
log_with_addrport_tmpl, blockers,
|
||||
dir_addr, addr, dir_port, port);
|
||||
if (log_match_len > sizeof(log_match))
|
||||
if (log_match_len >= sizeof(log_match))
|
||||
return -E2BIG;
|
||||
|
||||
return audit_match_record(audit_fd, AUDIT_LANDLOCK_ACCESS, log_match,
|
||||
|
|
@ -3173,7 +3173,7 @@ static int matches_log_connect_bound(int audit_fd, const char *const blockers,
|
|||
|
||||
log_match_len = snprintf(log_match, sizeof(log_match), log_template,
|
||||
blockers, addr, lport, addr, dport);
|
||||
if (log_match_len > sizeof(log_match))
|
||||
if (log_match_len >= sizeof(log_match))
|
||||
return -E2BIG;
|
||||
|
||||
return audit_match_record(audit_fd, AUDIT_LANDLOCK_ACCESS, log_match,
|
||||
|
|
|
|||
|
|
@ -305,7 +305,7 @@ static int matches_log_ptrace(struct __test_metadata *const _metadata,
|
|||
|
||||
log_match_len =
|
||||
snprintf(log_match, sizeof(log_match), log_template, opid);
|
||||
if (log_match_len > sizeof(log_match))
|
||||
if (log_match_len >= sizeof(log_match))
|
||||
return -E2BIG;
|
||||
|
||||
return audit_match_record(audit_fd, AUDIT_LANDLOCK_ACCESS, log_match,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user