This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] x86/CET: Don't parse beyond the note end


On 07/27/2018 08:22 PM, H.J. Lu wrote:
-	  while (1)
+	  while (ptr < ptr_end)
  	    {
  	      unsigned int type = *(unsigned int *) ptr;
  	      unsigned int datasz = *(unsigned int *) (ptr + 4);

You need 1 byte, but 8 bytes. Why is checking for at least 1 byte sufficient here?

I suppose our position is that we do not care about corrupt binaries. Is that justification for writing the check this way?

Thanks,
Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]