mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-21 06:52:22 -04:00
String safety (#1548)
* Array size UB fixes * Fix ShieldD * Remove (almost) all unsafe strcpy calls Bunch of macros. C arrays are easy enough and just need a different call. For various cases where a char* is passed around bare, I've made a TEXT_SPAN macro that can store a length too for bounds checking. * Move crash handling in safe string operations to separate TU * strcat safe version * sprintf made safe too * Fix compile
This commit is contained in:
committed by
GitHub
parent
af162bbd0a
commit
a6376368ee
@@ -370,7 +370,7 @@ int daObjFlag2_c::createHeap() {
|
||||
s8 flagNum = (u8)shape_angle.x;
|
||||
if (mFlagValid) {
|
||||
char acStack_40[16];
|
||||
sprintf(acStack_40, "flag%02d.bti", flagNum);
|
||||
SAFE_SPRINTF(acStack_40, "flag%02d.bti", flagNum);
|
||||
shape_angle.setall(0);
|
||||
current.angle.setall(0);
|
||||
ResTIMG* image = (ResTIMG*)dComIfG_getObjectRes(mFlagName, "flag.bti");
|
||||
@@ -409,7 +409,7 @@ int daObjFlag2_c::create() {
|
||||
mFlagValid = false;
|
||||
} else {
|
||||
mFlagValid = true;
|
||||
sprintf(mFlagName, "FlagObj%02d", flagNum);
|
||||
SAFE_SPRINTF(mFlagName, "FlagObj%02d", flagNum);
|
||||
int rv = dComIfG_resLoad(&mFlagPhase, mFlagName);
|
||||
if (rv != cPhs_COMPLEATE_e) {
|
||||
return rv;
|
||||
|
||||
Reference in New Issue
Block a user