Improved signedness check in Keymaster buffer

Per suggestion in another code review, use __builtin_add_overflow
to add the distance to the write position, rather than direct add.

This would prevent potentially triggering integer overflow sanitizer
(which might abort() execution).

To test:
m libkeymaster_fuzz_buffer
Push to /data/fuzzer on-device
Push
clusterfuzz-testcase-minimized-libkeymaster_fuzz_buffer-5372592199434240
to the same directory

Ignore-AOSP-First: Security fix
Test: Run libkeymaster_fuzz_buffer on clusterfuzz-testcase-minimized-libkeymaster_fuzz_buffer-5372592199434240
Bug: 173567719
Change-Id: Iac339f68678966e0f4ed3fd13790a4fa6074e56f
1 file changed