oss-fuzz found that I missed some error paths in commit
9e68cae4fd.
This fix prevents reads of a NULL pointer in sort_resources.
* rescoff.c (read_coff_res_dir): Check return of recursive calls
and read_coff_data_entry calls. Pass failures up the call chain.
re->subdir = 1;
re->u.dir = read_coff_res_dir (wrbfd, flaginfo->data + rva, flaginfo,
type, level + 1);
+ if (re->u.dir == NULL)
+ return NULL;
}
else
{
re->subdir = 0;
re->u.res = read_coff_data_entry (wrbfd, flaginfo->data + rva,
flaginfo, type);
+ if (re->u.res == NULL)
+ return NULL;
}
*pp = re;
re->subdir = 1;
re->u.dir = read_coff_res_dir (wrbfd, flaginfo->data + rva, flaginfo,
type, level + 1);
+ if (re->u.dir == NULL)
+ return NULL;
}
else
{
re->subdir = 0;
re->u.res = read_coff_data_entry (wrbfd, flaginfo->data + rva,
flaginfo, type);
+ if (re->u.res == NULL)
+ return NULL;
}
*pp = re;