[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 10/16] libelf: check all pointer accesses
George Dunlap writes ("Re: [Xen-devel] [PATCH 10/16] libelf: check all pointer accesses"): > On Tue, Jun 4, 2013 at 6:59 PM, Ian Jackson <ian.jackson@xxxxxxxxxxxxx> wrote: > > +{ > > + if ( elf->dest_size >= amount ) > > + { > > + elf->dest_base += amount; > > + elf->dest_size -= amount; > > + } > > + else > > + { > > + elf->dest_size = 0; > > + } > > +} > > This is probably a minor thing, but is there a reason not to set > elf->dest_base to NULL here? Well, there's nothing really wrong with elf->dest_base apart from that it points to a zero-length area. But your comment makes me realise that we should call elf_mark_broken in this case. > I realize that technically you've said "dest_size=0 -> dest_base is > also invalid", but it never hurts to have a little extra safety. If there is any code which accesses elf->dest_base[] without checking elf->dest_size then that code is already a problem. Making the change you propose would raise questions about whether (eg) some other code somewhere might think dest_base==0 means something special. (I don't think it does, but it's an argument against changing things.) > Other than that, I've tried to do a careful reading, and it seems like > it does what it says on the tin. I have mostly looked at the code > that *has* changed, not the code that has *not* changed, but the > renaming of key structures and functions should have helped the > compiler do that for us. It's good to go in with or without the above > suggestion as far as I can tell. Thanks. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |