if (max < 0)
                max = oldsz - 1;
            else if (max > oldsz - 1)
                max = oldsz - 1;