This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> writes: > Looks fine to me, except for the bounded pointer size in > chunk2mem_check(). I think the following additional patch is > necessary. > If you do runtime tests, please also do a test with MALLOC_CHECK_ set > (to 1 or 2). I will arrange the makefiles so that the testsuite runs malloc tests with MALLOC_CHECK_=3. Is there any reason to test without MALLOC_CHECK_? If not, then we'll just test once with MALLOC_CHECK_=3. Since you haven't yet checked this in, should I do it for you? OK with you, Uli? > 2000-07-27 Wolfram Gloger <wg@malloc.de> > > * malloc/malloc.c (chunk2mem_check): Fix bounded pointer size. > * malloc/malloc.c [! _LIBC]: Define RETURN_ADDRSS. > > Index: libc/malloc/malloc.c > =================================================================== > RCS file: /cvs/glibc/libc/malloc/malloc.c,v > retrieving revision 1.68 > diff -u -r1.68 malloc.c > --- malloc.c 2000/07/26 18:19:03 1.68 > +++ malloc.c 2000/07/27 08:44:08 > @@ -316,6 +316,7 @@ > > #ifndef _LIBC > # define __secure_getenv(Str) getenv (Str) > +# define RETURN_ADDRESS(Ptr) __builtin_return_address (Ptr) > #endif > > /* Macros for handling mutexes and thread-specific data. This is > @@ -4381,12 +4382,12 @@ > chunk2mem_check(p, sz) mchunkptr p; size_t sz; > #endif > { > - unsigned char* m_ptr = (unsigned char*)BOUNDED_N(chunk2mem(p), sz); > + /* Available size for detector bytes. */ > + size_t asz = chunksize(p) - (chunk_is_mmapped(p) ? 2*SIZE_SZ : SIZE_SZ); > + unsigned char* m_ptr = (unsigned char*)BOUNDED_N(chunk2mem(p), asz); > size_t i; > > - for(i = chunksize(p) - (chunk_is_mmapped(p) ? 2*SIZE_SZ+1 : SIZE_SZ+1); > - i > sz; > - i -= 0xFF) { > + for(i = asz-1; i > sz; i -= 0xFF) { > if(i-sz < 0x100) { > m_ptr[i] = (unsigned char)(i-sz); > break;
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |