[vox-tech] another glibc bug?
Tim Riley
vox-tech@lists.lugod.org
Tue, 06 May 2003 10:15:44 -0700
Peter Jay Salzman wrote:
> before i post this to glibc-bug, i'd like to post this just in case
> somebody has more information about this:
>
> #include <malloc.h>
> #include <stdio.h>
> #include <stdlib.h>
> #include <mcheck.h>
> // On my system, size_t is an unsigned int.
>
> int main(void)
> {
> char *p = (char *) malloc(sizeof(char));
>
> if (p == NULL)
> abort();
>
> printf("I requested %u bytes.\n", sizeof(char));
> printf("p was allocated %u bytes.\n", malloc_usable_size(p));
>
> return 0;
> }
>
> the problem is that linking with libmcheck.a seems to completely confuse
> calls to malloc_usable_size():
>
> $ gcc -W -Wall try.c
> $ ./a.out
> I requested 1 bytes.
> p was allocated 12 bytes.
Glibc 2.1 outputted:
I requested 1 bytes.
p was allocated 12 bytes.
>
>
> $ gcc -W -Wall try.c -lmcheck
> $ ./a.out
> I requested 1 bytes.
> p was allocated 4141754496 bytes.
Glibc 2.1 outputted:
I requested 1 bytes.
p was allocated 0 bytes.
>
>
> of course, i don't have this amount of memory on my system.
>
> pete
>
> ps- the patch for the last bug in glibc that i found, malloc_stats()
> segfaulting before memory was allocated, was just accepted and will be
> in the next release.
>
> --
> GPG Instructions: http://www.dirac.org/linux/gpg
> GPG Fingerprint: B9F1 6CF3 47C4 7CD8 D33E 70A9 A3B9 1945 67EA 951D
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech