[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Re: [Xen-staging] [xen-unstable] [XEN] Avoid use of GNU-specific memmem().
On Thu, 2007-01-04 at 10:18 +0000, Xen staging patchbot-unstable wrote: > # HG changeset patch > # User kfraser@xxxxxxxxxxxxxxxxxxxxx > # Date 1167905854 0 > # Node ID bdbfbfdfbd64ddedc775d55f1a9e842847fea7b2 > # Parent 60f91c9f1a248491e2f216d009a27a4c7e5e67d4 > [XEN] Avoid use of GNU-specific memmem(). > --- a/xen/tools/symbols.c Wed Jan 03 23:53:27 2007 +0000 > +++ b/xen/tools/symbols.c Thu Jan 04 10:17:34 2007 +0000 > @@ -350,6 +350,14 @@ static void build_initial_tok_table(void > table_cnt = pos; > } > > +static void *memmem_pvt(void *h, size_t hlen, void *n, size_t nlen) > +{ > + char *p; > + for (p = h; (p - (char *)h) <= (hlen - nlen); p++) > + if (!memcmp(p, n, nlen)) return p; > + return NULL; > +} size_t is unsigned, (hlen - nlen) can wrap and cause a segfault. The patch below fixes it. Thanks, Alex Signed-off-by: Alex Williamson <alex.williamson@xxxxxx> --- diff -r a8930b548048 xen/tools/symbols.c --- a/xen/tools/symbols.c Fri Jan 05 14:36:55 2007 -0700 +++ b/xen/tools/symbols.c Fri Jan 05 14:58:21 2007 -0700 @@ -353,7 +353,7 @@ static void *memmem_pvt(void *h, size_t static void *memmem_pvt(void *h, size_t hlen, void *n, size_t nlen) { char *p; - for (p = h; (p - (char *)h) <= (hlen - nlen); p++) + for (p = h; (p - (char *)h) <= (long)(hlen - nlen); p++) if (!memcmp(p, n, nlen)) return p; return NULL; } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |