Fixed bug found by fuzzing.

Thanks to OSS-Fuzz for finding the bug.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4423
diff --git a/src/macho.cc b/src/macho.cc
index 6cb883d..6036af3 100644
--- a/src/macho.cc
+++ b/src/macho.cc
@@ -50,11 +50,11 @@
 
 static uint64_t CheckedAdd(uint64_t a, uint64_t b) {
   absl::uint128 a_128(a), b_128(b);
-  absl::uint128 c = a + b;
-  if (c > UINT64_MAX) {
+  absl::uint128 c_128 = a_128 + b_128;
+  if (c_128 > absl::uint128(UINT64_MAX)) {
     THROW("integer overflow in addition");
   }
-  return static_cast<uint64_t>(c);
+  return static_cast<uint64_t>(c_128);
 }
 
 static string_view StrictSubstr(string_view data, size_t off, size_t n) {
diff --git a/tests/testdata/fuzz_corpus/14f1751b6ceb6aa262bced1c928c11d565c3d913 b/tests/testdata/fuzz_corpus/14f1751b6ceb6aa262bced1c928c11d565c3d913
new file mode 100644
index 0000000..e585f12
--- /dev/null
+++ b/tests/testdata/fuzz_corpus/14f1751b6ceb6aa262bced1c928c11d565c3d913
Binary files differ