l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
July 21: Defensive computing: Information security for individuals
Next Installfest:
TBD
Latest News:
Jul. 4: July, August and September: Security, Photography and Programming for Kids
Page last updated:
2003 May 07 15:17

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] another glibc bug?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] another glibc bug?



Tim Riley wrote:
> 
> 
> 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.

Glibc 2.2.5 with gcc 3.2.2 looks alright:

  $ gcc -W -Wall try.c
  $ ./a.out
  I requested 1 bytes.
  p was allocated 12 bytes.
  $ gcc -W -Wall try.c -lmcheck
  $ ./a.out
  I requested 1 bytes.
  p was allocated 0 bytes.
  $ 

One wouldn't generally call malloc with 0 or 1 bytes,
this is just testing a 'corner' case, right?

_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
O'Reilly and Associates
For numerous book donations.