- Fix two possible overflows when testing if ELF program headers are on   the first page:   1. Cast uint16_t operands in a multiplication to unsigned int because      otherwise the implicit promotion to int results in a signed      multiplication that can overflow and the behaviour on integer      overflow is undefined.   2. Replace (offset + size > PAGE_SIZE) with (size > PAGE_SIZE - offset)      because the sum may overflow. - Use the same tests to see if the path to the interpreter is on the first   page. There's no overflow here because size is already limited by   MAXPATHLEN, but the compiler optimises the new tests better. Also fix an   off-by-one error. - Simplify tests to see if an ELF note program header is on the first page.   This also fixes an off-by-one error.
- Fix two possible overflows when testing if ELF program headers are on
  the first page:
  1. Cast uint16_t operands in a multiplication to unsigned int because
     otherwise the implicit promotion to int results in a signed
     multiplication that can overflow and the behaviour on integer
     overflow is undefined.
  2. Replace (offset + size > PAGE_SIZE) with (size > PAGE_SIZE - offset)
     because the sum may overflow.
- Use the same tests to see if the path to the interpreter is on the first
  page. There's no overflow here because size is already limited by
  MAXPATHLEN, but the compiler optimises the new tests better. Also fix an
  off-by-one error.
- Simplify tests to see if an ELF note program header is on the first page.
  This also fixes an off-by-one error.

Reviewed by:	kib
MFC after:	1 week

jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase