|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 18/22] libxc: Add range checking to xc_dom_binloader
Andrew Cooper writes ("Re: [PATCH 18/22] libxc: Add range checking to
xc_dom_binloader"):
> On 07/06/13 19:27, Ian Jackson wrote:
> > @@ -123,9 +123,12 @@ static struct xen_bin_image_table *find_table(struct
> > xc_dom_image *dom)
> > uint32_t *probe_ptr;
> > uint32_t *probe_end;
> >
> > + if ( dom->kernel_size < sizeof(*table) )
> > + return NULL;
> > probe_ptr = dom->kernel_blob;
> > probe_end = dom->kernel_blob + dom->kernel_size - sizeof(*table);
> > - if ( (void*)probe_end > (dom->kernel_blob + 8192) )
> > + if ( dom->kernel_size >= 8192 &&
> > + (void*)probe_end > (dom->kernel_blob + 8192) )
> > probe_end = dom->kernel_blob + 8192;
>
> More void pointer arithmetic.
As discussed I intend to leave that alone. It has defined (and the
desired) behaviour.
> If I am reading the above correctly, it appears to be a glorified
>
> probe_end = dom->kernel_blob + (uintptr_t)min(dom->kernel_size -
> sizeof(*table), 8192);
>
> which looks to be a more simple representation?
Surely I shouldn't be changing this unnecessarily ?
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |