buffer maybe overflow