make io::Cursor::push() safe to call with an empty ByteRange