|
Message-Id: <915E241F-3931-49F5-88C6-17888CBE5022@gmail.com> Date: Sat, 9 Feb 2019 18:56:17 +0400 From: Ilya Matveychikov <matvejchikov@...il.com> To: musl@...ts.openwall.com Cc: dalias@...bc.org Subject: [PATCH] Fix the use of syscall result in dl_mmap Correct version of the change thanks to Rich Felker! I was not cc-ed, so here is the discussion: https://www.openwall.com/lists/musl/2019/02/09/2 Signed-off-by: Ilya V. Matveychikov <matvejchikov@...il.com> --- ldso/dynlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ldso/dynlink.c b/ldso/dynlink.c index ec921df..76e8c06 100644 --- a/ldso/dynlink.c +++ b/ldso/dynlink.c @@ -904,7 +904,7 @@ static void *dl_mmap(size_t n) #else p = (void *)__syscall(SYS_mmap, 0, n, prot, flags, -1, 0); #endif - return p == MAP_FAILED ? 0 : p; + return (unsigned long)p > -4096UL ? 0 : p; } static void makefuncdescs(struct dso *p) — 2.7.4 > On Feb 9, 2019, at 5:34 PM, Ilya Matveychikov <matvejchikov@...il.com> wrote: > > Signed-off-by: Ilya V. Matveychikov <matvejchikov@...il.com> > --- > ldso/dynlink.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/ldso/dynlink.c b/ldso/dynlink.c > index ec921df..329b42a 100644 > --- a/ldso/dynlink.c > +++ b/ldso/dynlink.c > @@ -904,6 +904,7 @@ static void *dl_mmap(size_t n) > #else > p = (void *)__syscall(SYS_mmap, 0, n, prot, flags, -1, 0); > #endif > + p = (void *)__syscall_ret((unsigned long)p); > return p == MAP_FAILED ? 0 : p; > } > > -- > 2.7.4 >
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.