git: ee12faa062c0 - main - bspatch: use C23 overflow checking math now that it is available
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 07 Sep 2023 14:36:56 UTC
The branch main has been updated by emaste:
URL: https://cgit.FreeBSD.org/src/commit/?id=ee12faa062c04a49bf6fe4e6867bad8606e2413f
commit ee12faa062c04a49bf6fe4e6867bad8606e2413f
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2023-09-05 16:35:31 +0000
Commit: Ed Maste <emaste@FreeBSD.org>
CommitDate: 2023-09-07 14:36:50 +0000
bspatch: use C23 overflow checking math now that it is available
Reviewed by: des
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41771
---
usr.bin/bsdiff/bspatch/bspatch.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/usr.bin/bsdiff/bspatch/bspatch.c b/usr.bin/bsdiff/bspatch/bspatch.c
index a596ab1837dd..d7fabddabbfe 100644
--- a/usr.bin/bsdiff/bspatch/bspatch.c
+++ b/usr.bin/bsdiff/bspatch/bspatch.c
@@ -36,6 +36,7 @@
#include <fcntl.h>
#include <libgen.h>
#include <limits.h>
+#include <stdckdint.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
@@ -64,15 +65,8 @@ add_off_t(off_t a, off_t b)
{
off_t result;
-#if __GNUC__ >= 5 || \
- (defined(__has_builtin) && __has_builtin(__builtin_add_overflow))
- if (__builtin_add_overflow(a, b, &result))
+ if (ckd_add(&result, a, b))
errx(1, "Corrupt patch");
-#else
- if ((b > 0 && a > OFF_MAX - b) || (b < 0 && a < OFF_MIN - b))
- errx(1, "Corrupt patch");
- result = a + b;
-#endif
return result;
}