संपादन करना

के माध्यम से साझा करें


Compiler Warning (level 4) C4703

Potentially uninitialized local pointer variable 'name' used

Remarks

The local pointer variable name might have been used without being assigned a value. This access could lead to unpredictable results.

The /sdl (Enable Additional Security Checks) compiler option elevates this warning to an error.

Example

The following code generates C4701 and C4703.

#include <malloc.h>

void func(int size)
{
    void* p;
    if (size < 256) {
        p = malloc(size);
    }

    if (p != nullptr) // C4701 and C4703
        free(p);
}

int main()
{
    func(9);
}
c:\src\test.cpp(10) : warning C4701: potentially uninitialized local variable 'p' used
c:\src\test.cpp(10) : warning C4703: potentially uninitialized local pointer variable 'p' used

To correct this warning, initialize the variable as shown in this example:

#include <malloc.h>

void func(int size)
{
    void* p = nullptr;
    if (size < 256) {
        p = malloc(size);
    }

    if (p != nullptr)
        free(p);
}

int main()
{
    func(9);
}

See also

Compiler Warning (level 4) C4701
Warnings, /sdl, and improving uninitialized variable detection