Compiler Warning (level 4) C4703

Potentially uninitialized local pointer variable 'name' used

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

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);  
}  

void 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);  
}  

void main()  
{  
    func(9);  
}  

See Also

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