Fix negative offsets stored as unsigned
Running tests with UndefinedBehaviorSanitizer enabled emitted errors such as "addition of unsigned offset [...] overflowed" This change fixes these errors.
Running tests with UndefinedBehaviorSanitizer enabled emitted errors such as "addition of unsigned offset [...] overflowed" This change fixes these errors.