thomasmoelhave / tpie

Templated Portable I/O Environment
Other
112 stars 24 forks source link

`array_iter_base::advance` Should Take a `ssize_t` #267

Open nhusung opened 1 year ago

nhusung commented 1 year ago

I recently had an issue with Adiar, which uses TPIE. Running the example with clang’s undefined behavior sanitizer revealed unsigned overflows when computing offsets in the following method:

https://github.com/thomasmoelhave/tpie/blob/663a2617f8f98bbc90fa0aa484094fd4cff7a49f/tpie/array.h#L56

The overflow happens e.g. in case of n = (size_t) -1. Using ssize_t (i.e. the signed version of size_t) as argument seems to fix the issue.

nhusung commented 1 year ago

(I don’t know if this issue is related to my original problem, though.)