C6255
C6255 Uyarı: _alloca bir yığın taşması özel yükselterek hatası gösterir.Bunun yerine _malloca kullanmayı düşünün
Bu uyarıyı belirten bir çağrı _alloca yerel özel durum işlemenin dışında algıladı._allocabir yığın taşması özel başarısızlık yükseltebilirsiniz, çünkü her zaman karşı korumalı bir özel durum işleyici aralığı içinde çağrılmalıdır.Mümkünse, yerine _alloca, kullanmayı _malloca daha güvenli bir sürümünü olduğu _alloca.
Örnek
Bu uyarı için aşağıdaki kod üretir _alloca özel durum oluşturabilirsiniz:
#include <windows.h>
void f( )
{
void *p = _alloca(10);
// code ...
}
Bu uyarı düzeltmek için _malloca ve özel durum işleyicisi aşağıdaki kodda gösterildiği gibi ekleyebilirsiniz:
#include <windows.h>
#include <malloc.h>
void f( )
{
void *p;
int errcode;
__try
{
p = _malloca(10);
// code...
_freea(p);
}
__except( (GetExceptionCode() == STATUS_STACK_OVERFLOW ) ?
EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH )
{
errcode = _resetstkoflw();
// code ...
}
}