Fix another NULL dereference

Access to field 'zone' results in a dereference of a null pointer (loaded from variable 'pr'), if size is negative. However, size should be unsigned.
This commit is contained in:
derselbst 2020-09-11 21:47:15 +02:00 committed by Tom M
parent c4cd8bfc24
commit 18fdafe37f

View file

@ -304,7 +304,7 @@ static int load_phdr(SFData *sf, unsigned int size);
static int load_pbag(SFData *sf, int size);
static int load_pmod(SFData *sf, int size);
static int load_pgen(SFData *sf, int size);
static int load_ihdr(SFData *sf, int size);
static int load_ihdr(SFData *sf, unsigned int size);
static int load_ibag(SFData *sf, int size);
static int load_imod(SFData *sf, int size);
static int load_igen(SFData *sf, int size);
@ -1573,9 +1573,10 @@ static int load_pgen(SFData *sf, int size)
}
/* instrument header loader */
static int load_ihdr(SFData *sf, int size)
static int load_ihdr(SFData *sf, unsigned int size)
{
int i, i2;
unsigned int i;
int i2;
SFInst *p, *pr = NULL; /* ptr to current & previous instrument */
unsigned short zndx, pzndx = 0;