> -----Original Message-----
> From: Matthew Wilcox <[email protected]>
> Sent: Tuesday, August 11, 2020 11:05 AM
> To: Burrow, Ryan - 0553 - MITLL <[email protected]>
> Cc: [email protected]; [email protected]
> Subject: Re: [PATCH] Bug fix to ELF Loader which rejects valid ELFs
> 
> On Tue, Aug 11, 2020 at 02:44:08PM +0000, Burrow, Ryan - 0553 - MITLL
wrote:
> >     /* Sanity check the number of program headers... */
> > -   /* ...and their total size. */
> > -   size = sizeof(struct elf_phdr) * elf_ex->e_phnum;
> > -   if (size == 0 || size > 65536 || size > ELF_MIN_ALIGN)
> > +   if (elf_ex->e_phnum == 0 || elf_ex->phnum > 65535)
> 
> umm, did you compile-test this?
> 

My apologies, I had made these edits in the context of other changes which I
didn't want to include in this patch - I replicated these changes
individually and (mistakenly) assumed I had done so correctly.

> assuming you meant e_phnum, it's a 16-bit quantity, so it can't be bigger
> than 65535.
> 
> >             goto out;
> >
> > +   size = sizeof(struct elf_phdr) * elf_ex->e_phnum;
> 
> use array_size() here?
> 

That's a good catch - I had really just moved the previous allocation of
size down to after the check, but I'll use array_size instead. Just to
confirm the correct process, should I do an inline response with the updated
commit, or submit a new patch email?

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to