# V6062. Possible infinite recursion.

Анализатор обнаружил, что может возникать бесконечная рекурсия. Скорее всего, это приведет к переполнению стека вызовов и возникновению исключения 'StackOverflow'.

Рассмотрим пример из реального проекта, который приводил к такой ситуации:

    @Override
    public void glGenTextures(IntBuffer textures) {
        gl.glGenTextures(textures);
        checkError();
    }

    @Override
    public void glGenQueries(int num, IntBuffer ids) {
        glGenQueries(num, ids); // <=
        checkError();
    }

Программист допустил опечатку и вызвал не тот метод, что стало причиной возникновения бесконечной рекурсии. Метод 'glGenQueries' надо было вызывать у объекта 'gl', как это делается в других фукнциях.

Исправленный пример:

    @Override
    public void glGenTextures(IntBuffer textures) {
        gl.glGenTextures(textures);
        checkError();
    }

    @Override
    public void glGenQueries(int num, IntBuffer ids) {
        gl.glGenQueries(num, ids);
        checkError();
    }

Данная диагностика классифицируется как:

CWE-674

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V6062.