Browse Source

Fixed a potential overflow in appfat (#85)

Refactored massive switch statements into something probably closer to reality.
pull/4/head
Adam Heinermann 8 years ago committed by galaxyhaxz
parent
commit
128e9d89a2
  1. 596
      Source/appfat.cpp

596
Source/appfat.cpp

@ -57,501 +57,151 @@ char *__fastcall GetErr(int error_code)
for ( i = &sz_error_buf[v4-1]; v4 > 0; *i = 0 )
{
--v4;
if ( *--i != '\r' && *i != '\n' )
--i;
if ( *i != '\r' && *i != '\n' )
break;
}
return sz_error_buf;
}
#define CASE_ERROR(v, errName) case errName: v = #errName; break;
void __fastcall GetDDErr(int error_code, char *error_buf, int error_buf_len)
{
const char *v3; // eax
char v4[4]; // [esp+0h] [ebp-14h]
if ( error_code > DDERR_SURFACEBUSY )
{
if ( error_code > DDERR_NOPALETTEHW )
{
if ( error_code > DDERR_CANTPAGELOCK )
{
switch ( error_code )
{
case DDERR_CANTPAGEUNLOCK:
v3 = "DDERR_CANTPAGEUNLOCK";
goto LABEL_182;
case DDERR_NOTPAGELOCKED:
v3 = "DDERR_NOTPAGELOCKED";
goto LABEL_182;
case DD_OK:
v3 = "DD_OK";
goto LABEL_182;
}
}
else
{
if ( error_code == DDERR_CANTPAGELOCK )
{
v3 = "DDERR_CANTPAGELOCK";
goto LABEL_182;
}
switch ( error_code )
{
case DDERR_BLTFASTCANTCLIP:
v3 = "DDERR_BLTFASTCANTCLIP";
goto LABEL_182;
case DDERR_NOBLTHW:
v3 = "DDERR_NOBLTHW";
goto LABEL_182;
case DDERR_NODDROPSHW:
v3 = "DDERR_NODDROPSHW";
goto LABEL_182;
case DDERR_OVERLAYNOTVISIBLE:
v3 = "DDERR_OVERLAYNOTVISIBLE";
goto LABEL_182;
case DDERR_NOOVERLAYDEST:
v3 = "DDERR_NOOVERLAYDEST";
goto LABEL_182;
case DDERR_INVALIDPOSITION:
v3 = "DDERR_INVALIDPOSITION";
goto LABEL_182;
case DDERR_NOTAOVERLAYSURFACE:
v3 = "DDERR_NOTAOVERLAYSURFACE";
goto LABEL_182;
case DDERR_EXCLUSIVEMODEALREADYSET:
v3 = "DDERR_EXCLUSIVEMODEALREADYSET";
goto LABEL_182;
case DDERR_NOTFLIPPABLE:
v3 = "DDERR_NOTFLIPPABLE";
goto LABEL_182;
case DDERR_CANTDUPLICATE:
v3 = "DDERR_CANTDUPLICATE";
goto LABEL_182;
case DDERR_NOTLOCKED:
v3 = "DDERR_NOTLOCKED";
goto LABEL_182;
case DDERR_CANTCREATEDC:
v3 = "DDERR_CANTCREATEDC";
goto LABEL_182;
case DDERR_NODC:
v3 = "DDERR_NODC";
goto LABEL_182;
case DDERR_WRONGMODE:
v3 = "DDERR_WRONGMODE";
goto LABEL_182;
case DDERR_IMPLICITLYCREATED:
v3 = "DDERR_IMPLICITLYCREATED";
goto LABEL_182;
case DDERR_NOTPALETTIZED:
v3 = "DDERR_NOTPALETTIZED";
goto LABEL_182;
case DDERR_NOMIPMAPHW:
v3 = "DDERR_NOMIPMAPHW";
goto LABEL_182;
case DDERR_INVALIDSURFACETYPE:
v3 = "DDERR_INVALIDSURFACETYPE";
goto LABEL_182;
case DDERR_DCALREADYCREATED:
v3 = "DDERR_DCALREADYCREATED";
goto LABEL_182;
default:
goto LABEL_178;
}
}
}
else
{
if ( error_code == DDERR_NOPALETTEHW )
{
v3 = "DDERR_NOPALETTEHW";
goto LABEL_182;
}
if ( error_code > DDERR_INVALIDDIRECTDRAWGUID )
{
switch ( error_code )
{
case DDERR_DIRECTDRAWALREADYCREATED:
v3 = "DDERR_DIRECTDRAWALREADYCREATED";
goto LABEL_182;
case DDERR_NODIRECTDRAWHW:
v3 = "DDERR_NODIRECTDRAWHW";
goto LABEL_182;
case DDERR_PRIMARYSURFACEALREADYEXISTS:
v3 = "DDERR_PRIMARYSURFACEALREADYEXISTS";
goto LABEL_182;
case DDERR_NOEMULATION:
v3 = "DDERR_NOEMULATION";
goto LABEL_182;
case DDERR_REGIONTOOSMALL:
v3 = "DDERR_REGIONTOOSMALL";
goto LABEL_182;
case DDERR_CLIPPERISUSINGHWND:
v3 = "DDERR_CLIPPERISUSINGHWND";
goto LABEL_182;
case DDERR_NOCLIPPERATTACHED:
v3 = "DDERR_NOCLIPPERATTACHED";
goto LABEL_182;
case DDERR_NOHWND:
v3 = "DDERR_NOHWND";
goto LABEL_182;
case DDERR_HWNDSUBCLASSED:
v3 = "DDERR_HWNDSUBCLASSED";
goto LABEL_182;
case DDERR_HWNDALREADYSET:
v3 = "DDERR_HWNDALREADYSET";
goto LABEL_182;
case DDERR_NOPALETTEATTACHED:
v3 = "DDERR_NOPALETTEATTACHED";
goto LABEL_182;
default:
goto LABEL_178;
}
}
else
{
if ( error_code == DDERR_INVALIDDIRECTDRAWGUID )
{
v3 = "DDERR_INVALIDDIRECTDRAWGUID";
goto LABEL_182;
}
if ( error_code > DDERR_TOOBIGWIDTH )
{
switch ( error_code )
{
case DDERR_UNSUPPORTEDFORMAT:
v3 = "DDERR_UNSUPPORTEDFORMAT";
goto LABEL_182;
case DDERR_UNSUPPORTEDMASK:
v3 = "DDERR_UNSUPPORTEDMASK";
goto LABEL_182;
case DDERR_VERTICALBLANKINPROGRESS:
v3 = "DDERR_VERTICALBLANKINPROGRESS";
goto LABEL_182;
case DDERR_WASSTILLDRAWING:
v3 = "DDERR_WASSTILLDRAWING";
goto LABEL_182;
case DDERR_XALIGN:
v3 = "DDERR_XALIGN";
goto LABEL_182;
}
}
else
{
switch ( error_code )
{
case DDERR_TOOBIGWIDTH:
v3 = "DDERR_TOOBIGWIDTH";
goto LABEL_182;
case DDERR_CANTLOCKSURFACE:
v3 = "DDERR_CANTLOCKSURFACE";
goto LABEL_182;
case DDERR_SURFACEISOBSCURED:
v3 = "DDERR_SURFACEISOBSCURED";
goto LABEL_182;
case DDERR_SURFACELOST:
v3 = "DDERR_SURFACELOST";
goto LABEL_182;
case DDERR_SURFACENOTATTACHED:
v3 = "DDERR_SURFACENOTATTACHED";
goto LABEL_182;
case DDERR_TOOBIGHEIGHT:
v3 = "DDERR_TOOBIGHEIGHT";
goto LABEL_182;
case DDERR_TOOBIGSIZE:
v3 = "DDERR_TOOBIGSIZE";
goto LABEL_182;
}
}
}
}
goto LABEL_178;
}
if ( error_code == DDERR_SURFACEBUSY )
{
v3 = "DDERR_SURFACEBUSY";
goto LABEL_182;
}
if ( error_code > DDERR_NOCOLORKEYHW )
{
if ( error_code > DDERR_NOTEXTUREHW )
{
if ( error_code > DDERR_OVERLAYCANTCLIP )
{
switch ( error_code )
{
case DDERR_OVERLAYCOLORKEYONLYONEACTIVE:
v3 = "DDERR_OVERLAYCOLORKEYONLYONEACTIVE";
goto LABEL_182;
case DDERR_PALETTEBUSY:
v3 = "DDERR_PALETTEBUSY";
goto LABEL_182;
case DDERR_COLORKEYNOTSET:
v3 = "DDERR_COLORKEYNOTSET";
goto LABEL_182;
case DDERR_SURFACEALREADYATTACHED:
v3 = "DDERR_SURFACEALREADYATTACHED";
goto LABEL_182;
case DDERR_SURFACEALREADYDEPENDENT:
v3 = "DDERR_SURFACEALREADYDEPENDENT";
goto LABEL_182;
}
}
else
{
switch ( error_code )
{
case DDERR_OVERLAYCANTCLIP:
v3 = "DDERR_OVERLAYCANTCLIP";
goto LABEL_182;
case DDERR_NOVSYNCHW:
v3 = "DDERR_NOVSYNCHW";
goto LABEL_182;
case DDERR_NOZBUFFERHW:
v3 = "DDERR_NOZBUFFERHW";
goto LABEL_182;
case DDERR_NOZOVERLAYHW:
v3 = "DDERR_NOZOVERLAYHW";
goto LABEL_182;
case DDERR_OUTOFCAPS:
v3 = "DDERR_OUTOFCAPS";
goto LABEL_182;
case DDERR_OUTOFVIDEOMEMORY:
v3 = "DDERR_OUTOFVIDEOMEMORY";
goto LABEL_182;
}
}
}
else
{
if ( error_code == DDERR_NOTEXTUREHW )
{
v3 = "DDERR_NOTEXTUREHW";
goto LABEL_182;
}
if ( error_code > DDERR_NORASTEROPHW )
{
switch ( error_code )
{
case DDERR_NOROTATIONHW:
v3 = "DDERR_NOROTATIONHW";
goto LABEL_182;
case DDERR_NOSTRETCHHW:
v3 = "DDERR_NOSTRETCHHW";
goto LABEL_182;
case DDERR_NOT4BITCOLOR:
v3 = "DDERR_NOT4BITCOLOR";
goto LABEL_182;
case DDERR_NOT4BITCOLORINDEX:
v3 = "DDERR_NOT4BITCOLORINDEX";
goto LABEL_182;
case DDERR_NOT8BITCOLOR:
v3 = "DDERR_NOT8BITCOLOR";
goto LABEL_182;
}
}
else
{
switch ( error_code )
{
case DDERR_NORASTEROPHW:
v3 = "DDERR_NORASTEROPHW";
goto LABEL_182;
case DDERR_NOEXCLUSIVEMODE:
v3 = "DDERR_NOEXCLUSIVEMODE";
goto LABEL_182;
case DDERR_NOFLIPHW:
v3 = "DDERR_NOFLIPHW";
goto LABEL_182;
case DDERR_NOGDI:
v3 = "DDERR_NOGDI";
goto LABEL_182;
case DDERR_NOMIRRORHW:
v3 = "DDERR_NOMIRRORHW";
goto LABEL_182;
case DDERR_NOTFOUND:
v3 = "DDERR_NOTFOUND";
goto LABEL_182;
case DDERR_NOOVERLAYHW:
v3 = "DDERR_NOOVERLAYHW";
goto LABEL_182;
}
}
}
goto LABEL_178;
}
if ( error_code == DDERR_NOCOLORKEYHW )
{
v3 = "DDERR_NOCOLORKEYHW";
goto LABEL_182;
}
if ( error_code > DDERR_INVALIDCLIPLIST )
{
if ( error_code > DDERR_NO3D )
{
switch ( error_code )
{
case DDERR_NOALPHAHW:
v3 = "DDERR_NOALPHAHW";
goto LABEL_182;
case DDERR_NOCLIPLIST:
v3 = "DDERR_NOCLIPLIST";
goto LABEL_182;
case DDERR_NOCOLORCONVHW:
v3 = "DDERR_NOCOLORCONVHW";
goto LABEL_182;
case DDERR_NOCOOPERATIVELEVELSET:
v3 = "DDERR_NOCOOPERATIVELEVELSET";
goto LABEL_182;
case DDERR_NOCOLORKEY:
v3 = "DDERR_NOCOLORKEY";
goto LABEL_182;
}
}
else
{
switch ( error_code )
{
case DDERR_NO3D:
v3 = "DDERR_NO3D";
goto LABEL_182;
case DDERR_INVALIDMODE:
v3 = "DDERR_INVALIDMODE";
goto LABEL_182;
case DDERR_INVALIDOBJECT:
v3 = "DDERR_INVALIDOBJECT";
goto LABEL_182;
case DDERR_INVALIDPIXELFORMAT:
v3 = "DDERR_INVALIDPIXELFORMAT";
goto LABEL_182;
case DDERR_INVALIDRECT:
v3 = "DDERR_INVALIDRECT";
goto LABEL_182;
case DDERR_LOCKEDSURFACES:
v3 = "DDERR_LOCKEDSURFACES";
goto LABEL_182;
}
}
goto LABEL_178;
}
if ( error_code == DDERR_INVALIDCLIPLIST )
{
v3 = "DDERR_INVALIDCLIPLIST";
goto LABEL_182;
}
if ( error_code > DDERR_CANNOTDETACHSURFACE )
{
switch ( error_code )
{
case DDERR_CURRENTLYNOTAVAIL:
v3 = "DDERR_CURRENTLYNOTAVAIL";
goto LABEL_182;
case DDERR_EXCEPTION:
v3 = "DDERR_EXCEPTION";
goto LABEL_182;
case DDERR_HEIGHTALIGN:
v3 = "DDERR_HEIGHTALIGN";
goto LABEL_182;
case DDERR_INCOMPATIBLEPRIMARY:
v3 = "DDERR_INCOMPATIBLEPRIMARY";
goto LABEL_182;
case DDERR_INVALIDCAPS:
v3 = "DDERR_INVALIDCAPS";
goto LABEL_182;
}
goto LABEL_178;
}
switch ( error_code )
{
case DDERR_CANNOTDETACHSURFACE:
v3 = "DDERR_CANNOTDETACHSURFACE";
goto LABEL_182;
case DDERR_UNSUPPORTED:
v3 = "DDERR_UNSUPPORTED";
goto LABEL_182;
case DDERR_GENERIC:
v3 = "DDERR_GENERIC";
goto LABEL_182;
case DDERR_OUTOFMEMORY:
v3 = "DDERR_OUTOFMEMORY";
goto LABEL_182;
case DDERR_INVALIDPARAMS:
v3 = "DDERR_INVALIDPARAMS";
goto LABEL_182;
case DDERR_ALREADYINITIALIZED:
v3 = "DDERR_ALREADYINITIALIZED";
goto LABEL_182;
}
if ( error_code != DDERR_CANNOTATTACHSURFACE )
{
LABEL_178:
char v4[20]; // [esp+0h] [ebp-14h]
switch (error_code) {
CASE_ERROR(v3, DDERR_CANTPAGEUNLOCK);
CASE_ERROR(v3, DDERR_NOTPAGELOCKED);
CASE_ERROR(v3, DD_OK);
CASE_ERROR(v3, DDERR_CANTPAGELOCK);
CASE_ERROR(v3, DDERR_BLTFASTCANTCLIP);
CASE_ERROR(v3, DDERR_NOBLTHW);
CASE_ERROR(v3, DDERR_NODDROPSHW);
CASE_ERROR(v3, DDERR_OVERLAYNOTVISIBLE);
CASE_ERROR(v3, DDERR_NOOVERLAYDEST);
CASE_ERROR(v3, DDERR_INVALIDPOSITION);
CASE_ERROR(v3, DDERR_NOTAOVERLAYSURFACE);
CASE_ERROR(v3, DDERR_EXCLUSIVEMODEALREADYSET);
CASE_ERROR(v3, DDERR_NOTFLIPPABLE);
CASE_ERROR(v3, DDERR_CANTDUPLICATE);
CASE_ERROR(v3, DDERR_NOTLOCKED);
CASE_ERROR(v3, DDERR_CANTCREATEDC);
CASE_ERROR(v3, DDERR_NODC);
CASE_ERROR(v3, DDERR_WRONGMODE);
CASE_ERROR(v3, DDERR_IMPLICITLYCREATED);
CASE_ERROR(v3, DDERR_NOTPALETTIZED);
CASE_ERROR(v3, DDERR_NOMIPMAPHW);
CASE_ERROR(v3, DDERR_INVALIDSURFACETYPE);
CASE_ERROR(v3, DDERR_DCALREADYCREATED);
CASE_ERROR(v3, DDERR_NOPALETTEHW);
CASE_ERROR(v3, DDERR_DIRECTDRAWALREADYCREATED);
CASE_ERROR(v3, DDERR_NODIRECTDRAWHW);
CASE_ERROR(v3, DDERR_PRIMARYSURFACEALREADYEXISTS);
CASE_ERROR(v3, DDERR_NOEMULATION);
CASE_ERROR(v3, DDERR_REGIONTOOSMALL);
CASE_ERROR(v3, DDERR_CLIPPERISUSINGHWND);
CASE_ERROR(v3, DDERR_NOCLIPPERATTACHED);
CASE_ERROR(v3, DDERR_NOHWND);
CASE_ERROR(v3, DDERR_HWNDSUBCLASSED);
CASE_ERROR(v3, DDERR_HWNDALREADYSET);
CASE_ERROR(v3, DDERR_NOPALETTEATTACHED);
CASE_ERROR(v3, DDERR_INVALIDDIRECTDRAWGUID);
CASE_ERROR(v3, DDERR_UNSUPPORTEDFORMAT);
CASE_ERROR(v3, DDERR_UNSUPPORTEDMASK);
CASE_ERROR(v3, DDERR_VERTICALBLANKINPROGRESS);
CASE_ERROR(v3, DDERR_WASSTILLDRAWING);
CASE_ERROR(v3, DDERR_XALIGN);
CASE_ERROR(v3, DDERR_TOOBIGWIDTH);
CASE_ERROR(v3, DDERR_CANTLOCKSURFACE);
CASE_ERROR(v3, DDERR_SURFACEISOBSCURED);
CASE_ERROR(v3, DDERR_SURFACELOST);
CASE_ERROR(v3, DDERR_SURFACENOTATTACHED);
CASE_ERROR(v3, DDERR_TOOBIGHEIGHT);
CASE_ERROR(v3, DDERR_TOOBIGSIZE);
CASE_ERROR(v3, DDERR_SURFACEBUSY);
CASE_ERROR(v3, DDERR_OVERLAYCOLORKEYONLYONEACTIVE);
CASE_ERROR(v3, DDERR_PALETTEBUSY);
CASE_ERROR(v3, DDERR_COLORKEYNOTSET);
CASE_ERROR(v3, DDERR_SURFACEALREADYATTACHED);
CASE_ERROR(v3, DDERR_SURFACEALREADYDEPENDENT);
CASE_ERROR(v3, DDERR_OVERLAYCANTCLIP);
CASE_ERROR(v3, DDERR_NOVSYNCHW);
CASE_ERROR(v3, DDERR_NOZBUFFERHW);
CASE_ERROR(v3, DDERR_NOZOVERLAYHW);
CASE_ERROR(v3, DDERR_OUTOFCAPS);
CASE_ERROR(v3, DDERR_OUTOFVIDEOMEMORY);
CASE_ERROR(v3, DDERR_NOTEXTUREHW);
CASE_ERROR(v3, DDERR_NOROTATIONHW);
CASE_ERROR(v3, DDERR_NOSTRETCHHW);
CASE_ERROR(v3, DDERR_NOT4BITCOLOR);
CASE_ERROR(v3, DDERR_NOT4BITCOLORINDEX);
CASE_ERROR(v3, DDERR_NOT8BITCOLOR);
CASE_ERROR(v3, DDERR_NORASTEROPHW);
CASE_ERROR(v3, DDERR_NOEXCLUSIVEMODE);
CASE_ERROR(v3, DDERR_NOFLIPHW);
CASE_ERROR(v3, DDERR_NOGDI);
CASE_ERROR(v3, DDERR_NOMIRRORHW);
CASE_ERROR(v3, DDERR_NOTFOUND);
CASE_ERROR(v3, DDERR_NOOVERLAYHW);
CASE_ERROR(v3, DDERR_NOCOLORKEYHW);
CASE_ERROR(v3, DDERR_NOALPHAHW);
CASE_ERROR(v3, DDERR_NOCLIPLIST);
CASE_ERROR(v3, DDERR_NOCOLORCONVHW);
CASE_ERROR(v3, DDERR_NOCOOPERATIVELEVELSET);
CASE_ERROR(v3, DDERR_NOCOLORKEY);
CASE_ERROR(v3, DDERR_NO3D);
CASE_ERROR(v3, DDERR_INVALIDMODE);
CASE_ERROR(v3, DDERR_INVALIDOBJECT);
CASE_ERROR(v3, DDERR_INVALIDPIXELFORMAT);
CASE_ERROR(v3, DDERR_INVALIDRECT);
CASE_ERROR(v3, DDERR_LOCKEDSURFACES);
CASE_ERROR(v3, DDERR_INVALIDCLIPLIST);
CASE_ERROR(v3, DDERR_CURRENTLYNOTAVAIL);
CASE_ERROR(v3, DDERR_EXCEPTION);
CASE_ERROR(v3, DDERR_HEIGHTALIGN);
CASE_ERROR(v3, DDERR_INCOMPATIBLEPRIMARY);
CASE_ERROR(v3, DDERR_INVALIDCAPS);
CASE_ERROR(v3, DDERR_CANNOTDETACHSURFACE);
CASE_ERROR(v3, DDERR_UNSUPPORTED);
CASE_ERROR(v3, DDERR_GENERIC);
CASE_ERROR(v3, DDERR_OUTOFMEMORY);
CASE_ERROR(v3, DDERR_INVALIDPARAMS);
CASE_ERROR(v3, DDERR_ALREADYINITIALIZED);
CASE_ERROR(v3, DDERR_CANNOTATTACHSURFACE);
default:
strcpy(v4, "DDERR unknown 0x%x");
sprintf(error_buf, v4, error_code);
return;
}
v3 = "DDERR_CANNOTATTACHSURFACE";
LABEL_182:
strncpy(error_buf, v3, error_buf_len);
}
void __fastcall GetDSErr(int error_code, char *error_buf, int error_buf_len)
{
const char *v3; // eax
char v4[4]; // [esp+0h] [ebp-14h]
if ( error_code > DSERR_INVALIDCALL )
{
switch ( error_code )
{
case DSERR_PRIOLEVELNEEDED:
v3 = "DSERR_PRIOLEVELNEEDED";
goto LABEL_29;
case DSERR_BADFORMAT:
v3 = "DSERR_BADFORMAT";
goto LABEL_29;
case DSERR_NODRIVER:
v3 = "DSERR_NODRIVER";
goto LABEL_29;
case DSERR_ALREADYINITIALIZED:
v3 = "DSERR_ALREADYINITIALIZED";
goto LABEL_29;
case DSERR_BUFFERLOST:
v3 = "DSERR_BUFFERLOST";
goto LABEL_29;
case DS_OK:
v3 = "DS_OK";
goto LABEL_29;
}
goto LABEL_22;
}
switch ( error_code )
{
case DSERR_INVALIDCALL:
v3 = "DSERR_INVALIDCALL";
goto LABEL_29;
case E_NOINTERFACE:
v3 = "E_NOINTERFACE";
goto LABEL_29;
case DSERR_NOAGGREGATION:
v3 = "DSERR_NOAGGREGATION";
goto LABEL_29;
case DSERR_OUTOFMEMORY:
v3 = "DSERR_OUTOFMEMORY";
goto LABEL_29;
case DSERR_INVALIDPARAM:
v3 = "DSERR_INVALIDPARAM";
goto LABEL_29;
case DSERR_ALLOCATED:
v3 = "DSERR_ALLOCATED";
goto LABEL_29;
}
if ( error_code != DSERR_CONTROLUNAVAIL )
{
LABEL_22:
char v4[20]; // [esp+0h] [ebp-14h]
switch (error_code) {
CASE_ERROR(v3, DSERR_PRIOLEVELNEEDED);
CASE_ERROR(v3, DSERR_BADFORMAT);
CASE_ERROR(v3, DSERR_NODRIVER);
CASE_ERROR(v3, DSERR_ALREADYINITIALIZED);
CASE_ERROR(v3, DSERR_BUFFERLOST);
CASE_ERROR(v3, DS_OK);
CASE_ERROR(v3, DSERR_INVALIDCALL);
CASE_ERROR(v3, E_NOINTERFACE);
CASE_ERROR(v3, DSERR_NOAGGREGATION);
CASE_ERROR(v3, DSERR_OUTOFMEMORY);
CASE_ERROR(v3, DSERR_INVALIDPARAM);
CASE_ERROR(v3, DSERR_ALLOCATED);
CASE_ERROR(v3, DSERR_CONTROLUNAVAIL);
default:
strcpy(v4, "DSERR unknown 0x%x");
sprintf(error_buf, v4, error_code);
return;
}
v3 = "DSERR_CONTROLUNAVAIL";
LABEL_29:
strncpy(error_buf, v3, error_buf_len);
}

Loading…
Cancel
Save