stb_sprintf: fix unaligned access
Fix an unaligned 32-bit access even if STB_SPRINTF_NOUNALIGNED was defined.
This commit is contained in:
parent
e6afb9cbae
commit
05b45da629
@ -332,7 +332,17 @@ STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(vsprintfcb)(STBSP_SPRINTFCB *callback,
|
|||||||
if (callback)
|
if (callback)
|
||||||
if ((STB_SPRINTF_MIN - (int)(bf - buf)) < 4)
|
if ((STB_SPRINTF_MIN - (int)(bf - buf)) < 4)
|
||||||
goto schk1;
|
goto schk1;
|
||||||
*(stbsp__uint32 *)bf = v;
|
#ifdef STB_SPRINTF_NOUNALIGNED
|
||||||
|
if(((stbsp__uintptr)bf) & 3) {
|
||||||
|
bf[0] = f[0];
|
||||||
|
bf[1] = f[1];
|
||||||
|
bf[2] = f[2];
|
||||||
|
bf[3] = f[3];
|
||||||
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
*(stbsp__uint32 *)bf = v;
|
||||||
|
}
|
||||||
bf += 4;
|
bf += 4;
|
||||||
f += 4;
|
f += 4;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user