On a 64 bit machine: - size_t shift = sizeof(size_t) * 8 - ffs_msb(_buffer->maxpos + _size); + size_t shift = sizeof(size_t) * 8 - ffs_msb((uint64_t)(_buffer->maxpos + _size)); Thanks,