mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 03:00:46 +00:00
Avoid reading or writing savegame specdata arrays when the pointer to one is NULL or their count is zero.
git-svn-id: https://svn.eduke32.com/eduke32@5112 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
9cf7da4366
commit
d5e3262a74
1 changed files with 6 additions and 0 deletions
|
@ -579,6 +579,9 @@ static uint8_t *writespecdata(const dataspec_t *spec, FILE *fil, uint8_t *dump)
|
||||||
ds_get(sp, &ptr, &cnt);
|
ds_get(sp, &ptr, &cnt);
|
||||||
if (cnt < 0) { OSD_Printf("wsd: cnt=%d, f=0x%x.\n",cnt,sp->flags); continue; }
|
if (cnt < 0) { OSD_Printf("wsd: cnt=%d, f=0x%x.\n",cnt,sp->flags); continue; }
|
||||||
|
|
||||||
|
if (!ptr || !cnt)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (fil)
|
if (fil)
|
||||||
{
|
{
|
||||||
if (((sp->flags&DS_CNTMASK)==0 && sp->size*cnt<=savegame_comprthres)
|
if (((sp->flags&DS_CNTMASK)==0 && sp->size*cnt<=savegame_comprthres)
|
||||||
|
@ -644,6 +647,9 @@ static int32_t readspecdata(const dataspec_t *spec, int32_t fil, uint8_t **dumpv
|
||||||
ds_get(sp, &ptr, &cnt);
|
ds_get(sp, &ptr, &cnt);
|
||||||
if (cnt < 0) { OSD_Printf("rsd: cnt<0... wtf?\n"); return -1; }
|
if (cnt < 0) { OSD_Printf("rsd: cnt<0... wtf?\n"); return -1; }
|
||||||
|
|
||||||
|
if (!ptr || !cnt)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (fil>=0)
|
if (fil>=0)
|
||||||
{
|
{
|
||||||
mem = (dump && (sp->flags&DS_NOCHK)==0) ? dump : (uint8_t *)ptr;
|
mem = (dump && (sp->flags&DS_NOCHK)==0) ? dump : (uint8_t *)ptr;
|
||||||
|
|
Loading…
Reference in a new issue