COMMON: SEEK_END offsets are negative

This was taken directly from the old code, which either used different
semantics, or had a genuine bug