[Bug 272474] lib/libc: bcmp may give wrong results on LP64 systems
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 272474] lib/libc: bcmp may give wrong results on LP64 systems"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 21 Jul 2023 08:57:20 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272474
--- Comment #6 from commit-hook@FreeBSD.org ---
A commit in branch stable/13 references this bug:
URL:
https://cgit.FreeBSD.org/src/commit/?id=3b0dacf6fd13cf8688402561192899507f46c276
commit 3b0dacf6fd13cf8688402561192899507f46c276
Author: Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2023-07-12 18:23:21 +0000
Commit: Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-07-21 08:54:08 +0000
lib/libc/string/bcmp.c: fix integer overflow bug
bcmp() returned the number of remaining bytes when the main loop exits.
In case of a match, this is zero, else a positive integer. On systems
where SIZE_MAX > INT_MAX, the implicit conversion from size_t to int in
the return value may cause the number of remaining bytes to overflow,
becoming zero and falsely indicating a successful comparison.
Fix the bug by always returning 0 on equality, 1 otherwise.
PR: 272474
Approved by: emaste
Reviewed by: imp
MFC After: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41011
(cherry picked from commit 4da7282a1882fc03c99591c27d44a2e6dfda364b)
lib/libc/string/bcmp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--
You are receiving this mail because:
You are the assignee for the bug.